INTRODUÇÃO À DINÂMICA E AO CONTROLE DE MANIPULADORES ROBÓTICOS
APOSTILA COMPILADA PELO PROF. RENATO MOLINA DA SILVA, PARA USO DOS ALUNOS DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO DA PUCRS, COM BASE NOS LIVROS: “ROBOTICS: CONTROL, SENSING, VISION AND INTELLIGENCE”, K. S. FU, R. C. GONZALEZ E C. S. G. LEE, McGRAW-HILL, NEW YORK, 1987 “ROBOT DYNAMICS AND CONTROL”, M. W. SPONG E M. VIDYASAGAR, JOHN WILEY & SONS, NEW YORK, 1989 "FUNDAMENTALS FOR CONTROL OF ROBOTIC MANIPULATORS", A. J. KOIVO, JOHN WILEY & SONS, NEW YORK, 1989 "MODELING AND CONTROL OF ROBOT MANIPULATORS", L. SCIAVIACCO E B. SICILIANO, McGRAW-HILL, NEW YORK, 1996
2
Capítulo 1 - Conceitos Básicos
CAPÍTULO 1 CONCEITOS BÁSICOS
1.1 INTRODUÇÃO Neste texto serão tratados exclusivamente conceitos básicos de Cinemática, Dinâmica e Controle de manipuladores robóticos industriais. O entendimento de tais assuntos é essencial para a compreensão de outros tópicos relacionados com Robótica que não serão explorados neste texto, tais como locomoção, visão, programação, sensoreamento, manipulação, manipulação, etc. 1.2 COMPONENTES DE ROBÔS. GRAUS DE LIBERDADE Os manipuladores robóticos são compostos por membros conectados por juntas em uma cadeia cinemática aberta. As juntas podem ser rotativas (permitem apenas rotação relativa entre dois membros) ou prismáticas (permitem apenas translação linear relativa entre dois membros). A figura 1.1 mostra várias maneiras de representar tais tipos de juntas.
Fig. 1.1 Representação simbólica de juntas de robôs
3
Capítulo 1 - Conceitos Básicos
Cada junta interconecta dois membros l1 e l2. O eixo de rotação ou de translação de uma junta é sempre denotado como eixo da junta zi, se a junta i interconectar os membros i e i + 1. As variáveis das juntas são denotadas por θi, se a junta for rotativa, ou por d i, se a junta for prismática. O número de juntas determina a quantidade de graus de liberdade do manipulador. Tipicamente, um manipulador industrial possui 6 graus de liberdade, 3 para posicionar o órgão terminal (garra, aparelho de soldagem, de pintura, etc.) e 3 para orientar o órgão terminal, conforme ilustra a fig. 1.2:
Fig. 1.2 Robô industrial típico Pode-se ter, também, manipuladores com menor ou maior número de graus de liberdade, conforme a função a ser executada. Quanto maior a quantidade de graus de liberdade, mais complicadas são a cinemática, a dinâmica e o controle do manipulador. O volume espacial varrido pelo órgão terminal do manipulador é conhecido como volume de trabalho ou espaço de trabalho. O volume de trabalho depende da configuração geométrica do manipulador e das restrições físicas das juntas (limites mecânicos). As juntas robóticas são normalmente acionadas por atuadores elétricos, hidráulicos ou pneumáticos. Os atuadores elétricos são os mais utilizados industrialmente, principalmente pela disponibilidade de energia elétrica e pela facilidade de controle. Já os atuadores hidráulicos são indicados quando grandes esforços são necessários. Os atuadores pneumáticos só têm plicação em operações de manipulação em que não são obrigatórias grandes precisões, devido à compressibilidade do ar.
4
Capítulo 1 - Conceitos Básicos
1.3 PRECISÃO E REPETIBILIDADE A precisão de um manipulador é uma medida de quão próximo o órgão terminal pode atingir um determinado ponto programado, dentro do volume de trabalho. Já a repetibilidade diz respeito à capacidade do manipulador retornar várias vezes ao ponto programado, ou seja, é uma medida da distribuição desses vários posicionamentos em torno do dito ponto. A precisão e a repetibilidade são afetadas por erros de computação, imprecisões mecânicas de fabricação, efeitos de flexibilidade das peças sob cargas gravitacionais e de inércia (sobretudo em altas velocidades), folgas de engrenagens, etc. Por este motivo, têm sido os manipuladores projetados com grandes rigidezes. Modernamente, entretanto, devido à tendência a manipuladores cada vez mais rápidos e precisos, tem sido dada grande ênfase, para o projeto do controlador, na consideração dos efeitos da flexibilidade. Um outro fator que influencia grandemente a precisão e a repetibilidade é a resolução de controle do controlador. Entende-se por resolução de controle o menor incremento de movimento que o controlador pode "sentir". Matematicamente, é dada pela expressão Res. de controle =
distância total percorrida pela junta 2n
(1.3.1)
onde n é o número de bits do encoder (sensor de posição existente na junta). Obviamente, se a junta for prismática, o numerador da eq. (1.3.1) é um deslocamento linear, enquanto que se a junta for rotativa, será um deslocamento angular. Nesse contexto, juntas prismáticas proporcionam maior resolução que juntas rotativas, pois a distância linear entre dois pontos é menor do que o arco de circunferência que passa pelos mesmos dois pontos.
1.4 CONFIGURAÇÕES GEOMÉTRICAS Os manipuladores podem apresentar diferentes configurações geométricas, isto é, diferentes arranjos entre os membros e os tipos de juntas utilizadas. A maioria dos robôs industriais tem 6 ou menos graus de liberdade. No caso de um manipulador com seis graus de liberdade, os três primeiros graus (a contar da base) são usados para posicionar o órgão terminal no espaço 3D, enquanto que os três últimos servem para orientar o órgão terminal no espaço 3D. Com base nos três primeiros graus de liberdade, pode-se classificar os robôs industriais em cinco configurações geométricas: • Articulado (RRR) • Esférico (RRP) • SCARA (RRP) • Cilíndrico (RPP) • Cartesiano (PPP) onde R significa junta rotativa e P significa junta prismática.
5
Capítulo 1 - Conceitos Básicos
1.4.1 Robô articulado (RRR) Também denominado antropomórfico, por ser o que mais se assemelha ao braço humano, é o mais usado industrialmente. A fig. 1.3 esquematiza um manipulador articulado:
Fig. 1.3 Manipulador articulado O manipulador articulado assegura liberdade de movimentos relativamente grande em um volume de trabalho compacto, tornando-o o mais versátil dos manipuladores industriais. O seu volume de trabalho está mostrado na fig. 1.4.
Fig. 1.4 Volume de trabalho do manipulador articulado
1.4.2 Robô esférico (RRP)
6
Capítulo 1 - Conceitos Básicos
Esta configuração é obtida simplesmente substituindo a junta rotativa do cotovelo do manipulador articulado por uma junta prismática, conforme ilustra a fig. 1.5:
Fig. 1.5 Manipulador esférico A denominação dessa configuração vem do fato de que as coordenadas que definem a posição do órgão terminal são esféricas (θ1, θ2, d3). A fig. 1.6 mostra o volume de trabalho do manipulador esférico.
Fig. 1.6 Volume de trabalho do manipulador esférico
1.4.3 Robô SCARA (RRP) O chamado robô SCARA ( Selective Compliant Articulated Robot for Assembly) é uma configuração recente que rapidamente se tornou popular, sendo adequada para montagens. Embora tenha uma configuração RRP, é bastante diferente da configuração esférica, tanto na aparência como na faixa de aplicações. O robô SCARA caracteriza-se por ter os três eixos z0, z 1 e z2 todos verticais e paralelos, conforme mostra a fig. 1.7. A fig. 1.8 ilustra o seu volume de trabalho.
7
Capítulo 1 - Conceitos Básicos
Fig. 1.7 Manipulador SCARA
Fig. 1.8 Volume de trabalho do manipulador SCARA
1.4.4 Robô cilíndrico (RPP) Na configuração cilíndrica, mostrada na fig. 1.9, a primeira junta é rotativa enquanto a segunda e terceira juntas são prismáticas. Como o próprio nome sugere, as variáveis das juntas são as coordenadas cilíndricas (θ1, d2, d 3) do órgão terminal, com relação à base. O volume de trabalho está ilustrado na fig. 1.10.
Fig. 1.9 Manipulador cilíndrico
8
Capítulo 1 - Conceitos Básicos
Fig. 1.10Volume de trabalho do manipulador cilíndrico
1.4.5 Robô cartesiano (PPP) Trata-se de um manipulador cujas três primeiras juntas são prismáticas. É o manipulador de configuração mais simples, sendo muito empregado para armazenamento de peças. As figs. 1.11 e 1.12 ilustram a configuração e o volume de trabalho, respectivamente.
Fig. 1.11 Manipulador cartesiano
Fig. 1.12 Volume de trabalho do manipulador cartesiano
Capítulo 1 - Conceitos Básicos
9
1.5 MÉTODOS DE CONTROLE Além da classificação dos manipuladores conforme os tipos e disposição das juntas utilizadas, apresentada no item 1.4, pode-se também classificar os robôs de acordo com o método de controle utilizado. Desse modo, pode-se ter robôs com controle em malha aberta , que são os mais antigos, cujos movimentos são limitados por batentes mecânicos. Assim, por exemplo, quando o braço mecânico encontra um batente que limita o seu movimento, esse batente pode acionar um interruptor que desligará o motor da junta e ligará o motor de uma outra junta e assim por diante, até completar o ciclo desejado. Já os robôs modernos são robôs com controle em malha fechada , ou servorobôs, os quais usam um controle computadorizado com realimentação para monitorar o seu movimento. Os servorobôs, por sua vez, são classificados de acordo com o método que o controlador utiliza para guiar o órgão terminal em robôs ponto a ponto (ou robôs PTP, do inglês "point-to-point") e robôs de trajetória contínua (ou robôs CP, do inglês "continuous path"). Ao robô PTP é ensinado um conjunto de pontos discretos (normalmente através de um TP, o "Teach Pendant"), porém não há controle sobre a trajetória que o órgão terminal deve seguir entre dois pontos consecutivos. As coordenadas dos pontos são armazenadas e o órgão terminal passa por eles sem controle sobre a trajetória. Tais robôs são muito limitados em suas aplicações. Já no robô CP toda a trajetória pode ser controlada. Por exemplo, pode ser ensinado ao robô que o seu órgão terminal deve seguir uma linha reta entre dois pontos ou mesmo uma trajetória mais complicada como numa operação de soldagem a arco. Pode-se, também, controlar a velocidade e/ou a aceleração do órgão terminal. Obviamente, os robôs CP requerem controladores e programas mais sofisticados do que os robôs PTP.
1.6 PUNHO E ÓRGÃO TERMINAL Por punho de um manipulador entende-se o conjunto de juntas que são colocadas entre o antebraço e o órgão terminal, de modo a prover este último com uma dada orientação. Em geral, os punhos robóticos são dotados de 2 ou 3 juntas rotativas. A maioria dos robôs são projetados com punho esférico, isto é, punhos cujos eixos das juntas (todas rotativas) interceptam-se em um mesmo ponto. Tal punho simplifica bastante a cinemática de orientação, conforme será visto mais adiante. Um punho esférico com três graus de liberdade aparece ilustrado na fig. 1.13. Os movimentos de rotação do punho esférico são denominados, respectivamente, guiagem, arfagem e rolamento, porém estão consagrados na literatura os correspondentes termos em inglês: Yaw, Pitch e Roll.
10
Capítulo 1 - Conceitos Básicos
Fig. 1.13 Estrutura de um punho esférico É comum encontrar-se manipuladores industriais com 2 ou três graus de liberdade no punho, de modo que o robô, no total, tenha 5 ou 6 graus de liberdade. Assim, um robô denotado como RRR-RRR é um robô articulado com um punho esférico com 3 juntas rotativas RPY (de Roll, Pitch e Yaw), com um total de 6 graus de liberdade. Já um robô RPP-RR é um robô cilíndrico com um punho com 2 junras rotativas RP (de Roll e Pitch), com um total de 5 graus de liberdade. A garra, que é o órgão terminal mais comum, possui um movimento de abre (open) e fecha (close). Tal grau de liberdade, no entanto, não é computado quando se especifica a quantidade total de graus de liberdade do robô.
1.7 O PROBLEMA DA ROBÓTICA O problema fundamental da Robótica, consiste em achar respostas à pergunta: O que deve ser feito para programar um robô com o objetivo de executar uma determinada tarefa?
Por exemplo, considere-se um robô articulado com seis graus de liberdade (6 GDL), portando um rebolo para uma operação de retífica plana, conforme mostra a figura 1.14:
Fig. 1.14 Robô com 6 graus de liberdade portando um rebolo Note-se que são os seguintes os 6 GDL do manipulador robótico:
11
Capítulo 1 - Conceitos Básicos
1) rotação do tronco 2) rotação do ombro 3) rotação do cotovelo 4) rotação do punho (“pitch” = arfagem) 5) rotação do punho (“yaw” = guiagem) 6) rotação do punho (“roll” = rolamento) Os três primeiros GDL posicionam o órgão terminal do manipulador, ao passo que os três últimos orientam o mesmo. Tal tipo de manipulador é muito utilizado em robótica industrial e é bastante complexo, conforme será estudado em capítulo posterior. Assim, a fim de apresentar o problema fundamental da robótica de uma maneira mais simplificada, considere-se um manipulador planar com apenas dois membros:
Fig. 1.15 Robô planar Suponha-se que se queira mover o manipulador de sua posição de espera A (“Home”) para a posição B, a partir da qual o robô deverá seguir o contorno da superfície S até a posição C, com velocidade constante e mantendo uma certa força prescrita F, normal à superfície. Surgem, naturalmente, os seguintes problemas:
Problema 1: Cinemática Direta O primeiro problema que aparece consiste na descrição das posições da ferramenta (rebolo), dos pontos A e B e da superfície S, todas em relação a um mesmo sistema de coordenadas inercial (fixo). Mais tarde, serão estudados em detalhes os sistemas de coordenadas fixos e móveis e as transformações entre os mesmos. O robô deve estar apto a “sentir” sua posição em cada instante, por meio de sensores internos (codificadores óticos, potenciômetros, etc.) localizados nas juntas, os quais podem medir os ângulos θ1 e θ2. Portanto, é necessário expressar as posições da ferramenta em termos desses ângulos, isto é, expressar x e y em função de θ1 e θ2. Isso constitui o problema da cinemática direta, ou seja, dadas as coordenadas das juntas θ1 e θ2, determinar x e y, as coordenadas do órgão terminal . Considere-se um sistema fixo de coordenadas O0x0y0 com origem na base do robô: é o chamado sistema da base, ilustrado a seguir:
12
Capítulo 1 - Conceitos Básicos
Fig. 1.16 Sistemas de coordenadas para o manipulador planar Ao sistema da base serão referidos todos os objetos, inclusive o manipulador. Nesse exemplo simples, a posição (x, y) da ferramenta (também conhecida como “Tool Center Point” = TCP), em relação ao sistema da base, pode ser obtida através de conhecimentos simples de Trigonometria: x = a1cosθ1 + a2cos(θ1 + θ2) (1.7.1) y = a1senθ1 + a2sen(θ1 + θ2) Considere-se, também, o sistema da ferramenta O2x2y2, com origem no TCP e com o eixo x2 colocado no prolongamento do membro anterior (o “antebraço”), apontando para fora. A orientação da ferramenta com relação ao sistema da base é dada pelos cossenos diretores dos eixos x2 e y2 com respeito aos eixos x0 e y0:
(1.7.2) ou, sob forma matricial:
(1.7.3) onde a matriz do membro direito é denominada matriz de orientação ou matriz de rotação. As eqs. (1.7.1), que fornece a posição do TCP, e (1.7.2), que fornece a orientação da garra, são denominadas equações da cinemática direta de posição. Obviamente, para um robô com 6 GDL não é tão simples escrever as eqs. (1.7.1) e (1.7.2) como o foi para um robô com apenas 2 GDL. Existe um procedimento geral para a obtenção das equações da cinemática direta que será explicado mais tarde, o qual se baseia na chamada notação de Denavit-Hartenberg.
Problema 2: Cinemática Inversa Vê-se, pelas eqs. (1.7.1) e (1.7.2), que é possível determinar as coordenadas x e y do TCP, assim como sua orientação, uma vez conhecidas as coordenadas das juntas θ1 e θ2. Entretanto, para comandar o robô, é necessário o inverso: dadas x e y, que ângulos θ1 e θ2 devem ser adotados pelas
13
Capítulo 1 - Conceitos Básicos
juntas, de modo a posicionar o TCP na posição (x, y)? Esse é o chamado problema da cinemática inversa. Tendo em vista que as eq. (1.7.1) e (1.7.2) são não-lineares, a solução pode não ser simples. Além disso, pode não haver solução (posição (x,y) fora do volume de trabalho), como pode também não haver uma solução única para o problema, conforme mostra a fig. 1.17, onde se verifica que existem as chamadas configurações cotovelo acima e cotovelo abaixo :
Fig. 1.17 Duas soluções para a cinemática inversa: cotovelo acima e cotovelo abaixo Considere-se, agora, o diagrama da fig. 1.18:
Fig. 1.18 Solução do problema da cinemática inversa do manipulador planar Usando a lei dos cossenos, o ângulo θ2 é dado por
(1.7.4) Por outro lado, da trigonometria: (1.7.5)
14
Capítulo 1 - Conceitos Básicos
Dividindo (1.7.5) por (1.7.4): (1.7.6) A eq. (1.7.6) fornece ambas as soluções, conforme o sinal usado: + ⇒ cotovelo acima -
⇒
cotovelo abaixo
Usando relações trigonométricas simples, pode-se mostrar (fazer como exercício) que o ângulo θ1 é dado por (1.7.7) Portanto, para esse robô muito simples, as eqs. (1.7.4), (1.7.6) e (1.7.7) permitem calcular as coordenadas das juntas θ1 e θ2, uma vez conhecida a posição (x, y) do TCP.
Problema 3: Cinemática da Velocidade Para seguir o contorno S com uma velocidade especificada, é preciso conhecer a relação entre a velocidade do TCP e as velocidades das juntas. Isso pode ser obtido derivando as eqs. (1.7.1) em relação ao tempo, obtendo-se a cinemática direta de velocidade:
(1.7.8) Usando notação vetorial: pode-se escrever as eq. (1.7.8) como
(1.7.9) onde a matriz J, definida na eq. (1.7.9), é denominada Jacobiano do manipulador, o qual é um parâmetro importante que deve sempre ser determinado para um manipulador em estudo. Para determinar as velocidades das juntas a partir das velocidades do TCP, usa-se a operação inversa, obtendo-se a cinemática inversa de velocidade : (1.7.10)
15
Capítulo 1 - Conceitos Básicos
ou (1.7.11) O determinante do Jacobiano dado vale a 1a2sinθ2, logo, quando θ2 = 0 ou quando θ2 = π, o Jacobiano J não tem inversa, o que caracteriza uma configuração singular, tal como a ilustrada na fig. 1.19:
Fig. 1.19 Uma configuração singular A determinação de configurações singulares é importante, por duas razões: 1) nessas configurações o TCP não pode mover-se em certas direções, como, no caso da fig. 1.19, na direção paralela a a1; 2) essas configurações separam as duas soluções possíveis para o problema inverso; em muitas aplicações é importante planejar movimentos que evitem passar por configurações singulares.
Problema 4: Dinâmica Para controlar a posição do manipulador é preciso conhecer as suas propriedades dinâmicas, de modo a saber a quantidade de força (ou torque) que deve ser aplicada às juntas para que ele se mova. Pouca força, por exemplo, fará com que o manipulador reaja vagarosamente, enquanto que força demais pode fazer com que o manipulador esbarre em objetos ou vibre em torno da posição desejada. A dedução das equações dinâmicas de movimento não é uma tarefa fácil, devido à grande quantidade de graus de liberdade e também às não-linearidades presentes. Em geral, são usadas técnicas baseadas na Dinâmica Lagrangiana ou na Dinâmica Newtoniana, para a dedução sistemática de tais equações. Além da dinâmica das peças (membros) que compõem o manipulador, a descrição completa deve também envolver a dinâmica dos atuadores e da transmissão, os quais produzem e transmitem as forças e torques necessários ao movimento.
Capítulo 1 - Conceitos Básicos
16
Problema 5: Controle da Posição O problema do controle da posição consiste em determinar as excitações necessárias a serem dadas aos atuadores das juntas para que o Órgão Terminal siga uma determinada trajetória e, simultaneamente, rejeitar distúrbios originários de efeitos dinâmicos não modelados, tais como atrito e ruídos. O enfoque padrão utiliza estratégias de controle baseadas no domínio da freqüência . Outras estratégias, tais como o controle avante, o torque calculado, a dinâmica inversa, o controle robusto e o controle não-linear, são também utilizadas no controle de posição do manipulador.
Problema 6: Controle da Força de retífica Uma vez alcançada a posição B, o manipulador deve seguir o contorno S (ver fig. 1.15), mantendo uma certa força normal constante contra a superfície a ser retificada. O valor dessa força não pode ser muito pequeno, de modo a tornar a operação de retífica ineficiente, nem muito grande, pois poderia danificar tanto a obra como a ferramenta. Daí, então, a necessidade de se exercer um controle preciso sobre a força. Os enfoques mais comuns são o controle híbrido e o controle de impedância.
17
Capítulo 1 - Conceitos Básicos
PROBLEMAS 1.1 Sejam dois pontos A e B no espaço, distantes entre si de d, em linha reta. Esses dois pontos são subentendidos por um ângulo central θ, cujo vértice dista l dos dois pontos, isto é, pelos dois pntos passa também um arco circular de comprimento lθ. Pede-se: (a)
mostrar, usando a lei dos cossenos, que a distância d é dada por d = l 2(1 − cosθ) ;
(b)
Para l = 1 m, θ = 900 e dispondo de um codificador de 10 bits, calcular a resolução para as seguintes trajetórias: (b.1) linha reta entre A e B;
(b.2) Arco circular entre A e B.
1.2 Deduzir a eq. (1.7.7). 1.3 Para o manipulador planar da fig. 1.15, achar as coordenadas x e y do rebolo, quando θ2 = π /2, para a1 = a2 = 1 m. 1.4 Para o manipulador planar da fig. 1.15, achar os ângulos das juntas estiver localizado na posição (0,5 0,5).
θ1
e
θ2,
θ1
= π /6 e
quando o rebolo
1.5 Se as velocidades das juntas do manipulador planar da fig. 1.15 são constantes e iguais a . 1 rad / s e θ. 2 2 rad / s, qual é a velocidade (componentes em x0 e em y0) quando θ1 = θ2 = π /4? θ1 =
=
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
18
CAPÍTULO 02 MOVIMENTOS DE CORPO RÍGIDO. TRANSFORMAÇÕES HOMOGÊNEAS
2.1 INTRODUÇÃO Para o desenvolvimento das equações cinemáticas do manipulador há necessidade de estabelecer vários sistemas de coordenadas para representar as posições e orientações de corpos rígidos. Também é preciso conhecer as transformações de coordenadas entre esses sistemas, de modo a possibilitar que vetores representativos de posições, velocidades e acelerações, dados em um determinado sistema de coordenadas, possam ser representados em outros sistemas de coordenadas. Neste capítulo serão consideradas as operações de rotação e de translação de um sistema em relação a um outro sistema e apresentada a noção de transformação homogênea, muito usuais em Robótica. 2.2 ROTAÇÕES Seja um ponto genérico P, do espaço 3D. Deseja-se relacionar as coordenadas de P, dadas no sistema móvel Ox1y1z1, com as coordenadas do mesmo ponto P, em relação ao sistema fixo Ox 0y0z0, conforme fig. 2.1:
Fig. 2.1 Relação entre Sistemas de Coordenadas
19
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
Sejam i0, j0 e k0 os vetores unitários do sistema fixo Ox 0y0z0 e sejam i1, j1 e k1 os vetores unitários do sistema móvel Ox1y1z1. Então, o ponto P pode ser representado nos dois sistemas: - sistema Ox0y0z0:
p0 = p0xi0 + p0y j0 + p0zk0
(2.2.1)
- sistema Ox1y1z1:
p1 = p1xi1 + p1y j1 + p1zk1
(2.2.2)
Como p0 e p1 representam, na realidade, o mesmo ponto P, pode-se escrever: p0x = p0• i0 = p1• i0 p0y = p0• j0 = p1• j0 p0z = p0• k0 = p1• k0 Levando em conta a eq. (2.2.2): p0x = p1xi1• i0 + p1y j1• i0 + p1zk1• i0 p0y = p1xi1 • j0+ p1y j1 • j0+ p1zk1• j0 p0z = p1xi1 • k0+ p1y j1 • k0+ p1zk1• k0 ou, em forma compacta, como
p0 = R10 p1
(2.2.3)
onde a matriz 3 x 3
i1 . i 0 j1 . i 0 k1 . i0 R 10 = i1 . j0 j1 . j0 k1 . j0 i1 . k 0 j1 . k 0 k1 . k 0
(2.2.4)
a qual permite a transformação do vetor p1 do sistema móvel Ox1y1z1 para o sistema fixo Ox0y0z0 é denominada matriz de rotação. Observe-se que os seus vetores colunas são os cossenos diretores dos eixos do sistema móvel com relação aos eixos do sistema fixo. Prémultiplicando a eq. (2.2.3) por ( R10)-1, chega-se a
p1 = (R10)-1 p0
(2.2.5)
Por outro lado, seguindo o mesmo raciocínio usado para a obtenção da eq. (2.2.3), pode-se mostrar que:
onde
p1 = R01 p0
i 0 . i1 j0 . i1 k 0 . i1 R10 = i 0 . j1 j0 . j1 k 0 . j1 i 0 . k1 j0 . k1 k 0 . k1
(2.2.6)
(2.2.7)
20
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
é a matriz de rotação que permite a transformação do vetor p0 do sistema fixo Ox0y0z0 para o sistema móvel Ox1y1z1. Observe-se que os seus vetores colunas são os cossenos diretores dos eixos do sistema fixo com relação aos eixos do sistema móvel. Comparando as eqs. (2.2.4), (2.2.5), (2.2.6) e (2.2.7), conclui-se que
R01 = (R10)-1 = (R10)T
(2.2.8)
isto é, a matriz inversa da matriz de rotação é igual a sua transposta, logo a matriz de rotação é ortogonal . Resumindo:
• dado um vetor p1 no sistema móvel Ox1y1z1, para levá-lo para o sistema fixo Ox0y0z0, deve-se aplicar a eq. (2.2.3), onde a matriz de rotação é dada pela eq. (2.2.4); • dado um vetor p0 no sistema fixo Ox0y0z0, para levá-lo para o sistema móvel Ox1y1z1, deve-se aplicar a eq. (2.2.6), onde a matriz de rotação é dada pela eq. (2.2.8). Exemplo Ilustrativo (a) Supondo que o sistema móvel Ox 1y1z1 gire de um ângulo θ em torno do eixo z0, achar a matriz de rotação; (b) Idem, se o giro for em torno do eixo y 0; (c) Idem, se o giro for em torno do eixo x 0. Solução (a) Adotando a notação R10 = Rz,θ e aplicando a eq. (2.2.4), chega-se à matriz de rotação dada por
cosθ cos(θ + π / 2) cosπ / 2 R z,θ = cos(π / 2 - θ) cos cos / 2 θ π cosπ / 2 cosπ / 2 cos0
Logo:
cosθ -senθ 0 R z,θ = senθ cosθ 0 0 0 1
(2.2.9)
cosθ 0 senθ R y,θ = 0 1 0 -senθ 0 cosθ
(2.2.10)
(b) Analogamente, chega-se a
21
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
(c) Analogamente, chega-se a
1 0 0 R x,θ = 0 cosθ -senθ 0 senθ cosθ
(2.2.11)
As três matrizes acima constituem as chamadas matrizes básicas de rotação . 2.3 COMPOSIÇÃO DE ROTAÇÕES Suponha-se, agora, a adição de um outro sistema móvel de coordenadas, O 2x2y2z2, relacionado aos sistemas O0x0y0z0 (fixo) e O1x1y1z1 (móvel) por transformações rotacionais. Um dado ponto P pode então ser representado de três maneiras: (2.3.1) (2.3.2) (2.3.3) Substituindo a eq. (2.3.3) na eq. (2.3.1): (2.3.4) Comparando as eqs. (2.3.2) e (2.3.4), tem-se (2.3.5) Logo, para transformar as coordenadas de um ponto P do sistema móvel O 2x2y2z2 para o sistema O0x0y0z0 (fixo), é necessário, primeiro, transformá-lo para o sistema móvel O1x1y1z1, através da matriz R21 e, após, para o sistema O0x0y0z0 (fixo), usando a matriz R10. Generalizando para n sistemas:
Rn0 = R10R21 ... Rnn-1
(2.3.6)
Observação importante: a eq. (2.3.6) é válida quando as rotações são feitas sucessivamente em relação a sistemas que estão mudando de posição, denominados sistemas correntes, como foi o caso considerado aqui. Entretanto, quando os sistemas não mudam de posição (os chamados sistemas fixos), pode-se mostrar que a ordem das matrizes das eqs. acima deve ser invertida, ou seja: R20 = R21 R10
(2.3.7)
Rn0 = Rnn-1 ... R21 R10
(2.3.8)
22
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
Exemplo ilustrativo (a) Um sistema de coordenadas sofre uma rotação φ em torno do eixo y e, após, uma rotação θ em torno do eixo z, já na nova posição (eixo corrente). Achar a matriz de rotação; (b) Idem (a), porém as rotações se dão em ordem inversa; (c) Comparar as matrizes obtidas em (a) e em (b). Concluir. Solução (a) Usando a notação cosφ = Cφ, senφ = Sφ, etc., tem-se:
=
(b)
=
(c) Vê-se que R ≠ R', o que era de se esperar, pois o produto matricial não é comutativo. Fisicamente, significa que a ordem das rotações é importante. 2.4 OUTRAS REPRESENTAÇÕES DE ROTAÇÕES Conforme foi visto anteriormente, a matriz de rotação é composta por nove elementos. Tais elementos não são quantidades independentes, pois, se um corpo rígido possui no máximo três graus de liberdade para rotações, são necessárias e suficientes apenas três quantidades independentes para
23
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
especificar a orientação de um sistema em relação ao outro. Serão apresentadas, neste item, duas representações de rotações, utilizando apenas três quantidades independentes.
2.4.1 Representação por Ângulos de Euler Considere-se a fig. 2.2, onde aparecem os sistemas fixo O 0x0y0z0 e móvel Ox1y1z1. Pode-se especificar a orientação do sistema móvel (já rotado) em relação ao sistema fixo pelos chamados Ângulos de Euler (φ, θ, ψ ), obtidos através de três rotações sucessivas: (1) rotação φ em torno de z0 (2) rotação θ em torno de y' (3) rotação ψ em torno de z''
Fig. 2.2 Representação por Ângulos de Euler Como são rotações em torno de eixos correntes:
(2.4.1)
24
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
2.4.2 Representação por Ângulos de Navegação Roll-Pitch-Yaw (RPY) Uma outra maneira de representar rotações é através de três rotações sucessivas em torno dos eixos de um mesmo sistema fixo, conforme fig. 2.3, na seguinte seqüência: (1) rotação ψ (Yaw = Guiagem) em torno de x0 (2) rotação θ (Pitch = Arfagem) em torno de y0 (3) rotação φ (Roll = Rolamento) em torno de z 0
Fig. 2.3 Representação por Ângulos de Navegação Roll-Pitch-Yaw Como as rotações são feitas em torno de eixos fixos:
(2.4.2) Na realidade, a representação RPY constitui um caso particular da representação por Ângulos de Euler e assim é tratada por vários autores.
2.5 TRANSFORMAÇÕES HOMOGÊNEAS Até agora, foram consideradas apenas rotações de um sistema de coordenadas em relação a um outro. Neste item, serão introduzidos, também, os movimentos de translação.
25
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
Seja um sistema móvel O1x1y1z1, obtido por translação pura a partir do sistema fixo O0x0y0z0, conforme fig. 2.4:
Fig. 2.4 Translação pura Como se observa, a origem O1 do sistema móvel foi deslocada de uma distância representada pelo vetor d 0. Tal vetor fornece apenas a posição do sistema móvel em relação ao sistema fixo, nada indicando quanto a sua orientação, a qual, conforme já foi visto, é dada pela matriz de rotação R10. 1
Consideremos, agora, a combinação de translação com rotação. Nesse caso, um ponto P do espaço 3D é representado, no sistema fixo O0x0y0z0, pela soma vetorial do vetor posição da origem do sistema móvel, d10, com o vetor p1, em relação ao sistema móvel O1x1y1z1: d 10 x
ou, desenvolvendo:
p0x r 11 r12 r13 p1x p r 21 r 22 r 23 p1y + d 10 y = 0y p 0z r 311 r 32 r33 p1z d 10z
(2.5.1)
onde os elementos r ij são os elementos da matriz de rotação, dada pelos Ângulos de Euler. Uma outra forma de apresentar a equação acima, com apenas uma multiplicação matricial, é:
p p0x r11 r12 r13 d10x 1x p = 1 p1y d r r r 21 22 23 0y 0y p 1 p 0z r 311 r 32 r 33 d 0z 1z 1 Pode-se, ainda, colocar a expressão acima em uma forma mais conveniente, de modo que a matriz seja quadrada 4 x 4: p 0x r11 r12 r13 d10 x p1x p 1 p d r r r 21 22 23 0 y 0 1 y y = p0 z r 31 r 32 r 33 d10z p1z 1 0 0 0 1 1
26
Capítulo 2 - Movimentos de Corpo Rígido. Transformações Homogêneas
PROBLEMAS 2.1 Deduzir a eq. (2.2.6). 2.2 Um ponto P no espaço 3D tem coordenadas (1, 1, 0) em relação ao sistema fixo Ox 0y0z0. Achar as suas coordenadas em relação ao sistema móvel Ox1y1z1, de mesma origem e girado de π /2, em relação ao eixo y0. 2.3 Provar que a matriz de rotação básica Rz,θ possui as seguintes propriedades: (a)
Rz,0 = I
Rz,θ Rz,φ = Rz,(θ+φ)
(b)
(c)
(Rz,θ)-1 = Rz,-θ
2.4 Deduzir as eqs. (2.2.10) e (2.2.11). 2.5 Se o sistema de coordenadas O1x1y1z1 é obtido a partir do sistema de coordenadas fixo O0x0y0z0 por uma rotação de π /2 em torno do eixo x0, seguida de uma rotação de π /2 em torno do eixo y0, achar a matriz de rotação que representa a composição de rotações. 2.6 Supondo que sejam dados três sistemas de coordenadas O 1x1y1z1, O2x2y2z2 e O3x3y3z3 e supondo que 1 2 R1 = 0 0
0 1 2 3 2
0 3 − 2 1 2
achar R32. Supor eixos correntes.
0 0 −1 e que R 13 = 0 1 0 1 0 0
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
27
CAPÍTULO 03 CINEMÁTICA DIRETA DE POSIÇÃO. REPRESENTAÇÃO DE DENAVIT-HARTENBERG
3.1 INTRODUÇÃO Neste capítulo serão desenvolvidas as equações para a cinemática direta de posição para manipuladores rígidos. O problema da cinemática direta pode ser estabelecido da seguinte maneira: dadas as variáveis das juntas de um robô, determinar a posição e a orientação do órgão terminal . Assim, no caso de um robô articulado do tipo RRR-RRR, as dadas variáveis das juntas são os ângulos θi, i = 1, 2, ... , 6 entre os membros do robô e o problema da cinemática direta de posição pode ser assim esquematizado: Cinemática θi, i = 1, 2, ... , 6 → Direta de Posição
→ x0, y0, z0, n, s, a
onde x0, y0 e z0 são as coordenadas cartesianas do órgão terminal e n, s e a são os vetores cujos componentes são os cossenos diretores dos ângulos formados pelos eixos x 6, y 6 e z6 do sistema do órgão terminal com os eixos do sistema da base, x0, y0 e z0, respectivamente. A obtenção das equações que resolvem o problema da cinemática direta, com base em conhecimentos de geometria e trigonometria, é relativamente fácil para manipuladores muito simples, como no caso do manipulador planar ilustrado no capítulo 1. Para robôs espaciais, entretanto, a formulação se torna bastante complexa, sendo preferível utilizar a representação de Denavit-Hartenberg, consagrada em mecanismos e em robótica. Tal representação permite tratar qualquer tipo de manipulador de uma maneira sistemática, facilitando muito a obtenção das equações da cinemática direta de posição. 3.2 CADEIAS CINEMÁTICAS Para fins de análise cinemática, pode-se considerar o robô como uma cadeia cinemática, ou seja, um conjunto de membros rígidos conectados entre si por juntas . Em Robótica Industrial, tais juntas são
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
28
muito simples, dos tipos rotativa (R) ou prismática (P), as quais permitem apenas um grau de liberdade. Assim, a ação de cada junta pode ser descrita por uma só quantidade: o ângulo de rotação, no caso de juntas R, ou o deslocamento linear, no caso de juntas P. O objetivo da cinemática direta é determinar o efeito cumulativo do conjunto de variáveis das juntas. A cadeia cinemática representativa de um robô pode ser aberta, na qual existe apenas uma junta conectando dois membros consecutivos, ou fechada, quando pode-se ter mais de uma junta conectando dois membros consecutivos. No presente curso serão estudados apenas os robôs com cadeia cinemática aberta, os quais constituem a grande maioria dos robôs industriais.
3.3 CONVENÇÃO PARA MEMBROS, JUNTAS E SISTEMAS DE COORDENADAS Um robô com cadeia cinemática aberta pode ser considerado como composto de n + 1 membros (incluída aí a base, que é sempre o membro 0), conectados por n juntas. Os corpos são numerados de 0 a n, a partir da base. As juntas são numeradas de 1 a n, sendo que a junta i conecta o membro i ao membro i - 1. A i-ésima variável da junta é denotada por qi e pode ser um deslocamento angular (junta R) ou um deslocamento linear (junta P). A cada membro do robô é associado um sistema de coordenadas cartesianas: o sistema O 0x0y0z0 é associado à base 0, o sistema O1x1y1z1 é associado ao membro 1 e assim por diante. Devido à consideração de corpo rígido, qualquer ponto do membro i+1 tem coordenadas constantes com relação ao sistema Oixiyizi. A fig. 3.1 ilustra tais convenções:
Fig. 3.1 Convenção para membros, juntas e sistemas de coordenadas
29
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
3.4 OBTENÇÃO DAS EQUAÇÕES DA CINEMÁTICA DIRETA DE POSIÇÃO Seja Aii-1 a matriz de transformação do sistema do membro i para o sistema do membro i-1. Como cada junta tem apenas um grau de liberdade, a matriz Aii-1 é função apenas da variável da junta, qi: Aii-1 = Aii-1 (qi)
(3.3.1)
Obviamente, a matriz Aii-1 não é constante, mas varia à medida que muda a configuração do manipulador no espaço, durante o seu movimento. A posição e a orientação do órgão terminal, em relação ao sistema da base, pode ser obtida de duas maneiras: (a) percorrendo a cadeia cinemática aberta, a partir da base até o órgão terminal, passando por todos os membros, ou seja, considerando as rotações sucessivas em torno dos sistemas dos membros, os quais são sistemas correntes: n 1 2 n (3.4.1) H 0 = A 0A 1 ... A n-1 onde cada transformação homogênea Aii-1 é dada por R ii-1 A i-1 = O i
d ii-1
1
(3.4.2)
e onde Rii-1 é a matriz de rotação do sistema Oixiyizi para o sistema Oi-1xi-1yi-1zi-1 e dii-1 é o vetor posição da origem do sistema Oixiyizi em relação ao sistema Oi-1xi-1yi-1zi-1. (b) indo diretamente do sistema da base ao sistema da garra, através da matriz de transformação homogênea Hn0
R n0 = O
d n0
1
(3.4.3)
onde Rn0 é a matriz de rotação do sistema do órgão terminal O nxnynzn em relação ao sistema da base O0x0y0z0 e dn0 é o vetor posição da origem do sistema do órgão terminal O nxnynzn em relação ao sistema da base O0x0y0z0. Portanto, a cinemática direta de posição resume-se em determinar as matrizes dadas pelas eqs. (3.4.1) e (3.4.3) e igualá-las, obtendo-se 12 equações que fornecerão a posição do órgão terminal (através da igualdade dos 3 elementos correspondentes ao vetor posição) e a orientação do órgão terminal (através da igualdade dos 9 elementos correspondentes à matriz de rotação), em função das variáveis das juntas. É possível obter-se uma simplificação considerável, utilizando a chamada representação de Denavit-Hartenberg.
30
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
3.5 REPRESENTAÇÃO DE DENAVIT-HARTENBERG (DH) Na representação DH, consagrada em Robótica, cada matriz Aii-1 é representada pelo produto de quatro transformações básicas: Aii-1 = Rz,θTz,dTx,aRx,α
onde Rz,θ Tz,d Tx,a Rx,α
(3.5.1)
representa a rotação θ em torno do eixo z (sinal positivo dado pela regra da mão direita), representa a translação d ao longo do eixo z (sinal positivo quando a translação concorda com o sentido do eixo), representa a translação a ao longo do eixo x (sinal positivo quando a translação concorda com o sentido do eixo) e representa a rotação α em torno do eixo x (sinal positivo dado pela regra da mão direita).
Os parâmetros θ, d, a e α são chamados parâmetros do membro ou parâmetros DH, os quais recebem as denominações seguintes:
θ = ângulo d = excentricidade a = comprimento α = torção Desenvolvendo a eq. (3.5.1), obtem-se: Aii-1 =
ou
cos θi -sen θi cos α i sen θi sen α i a i cosθi sen θ cos θ cos α -cos θ sen α a senθ i i i i i i i Aii-1 = di sen αi cos αi 0 0 0 0 1
(3.5.2)
Como Aii-1 é função apenas da variável da junta, q i, conclui-se que três dos quatro parâmetros DH são constantes para um determinado membro do manipulador, enquanto que o quarto parâmetro ( θ, para juntas R ou d, para juntas P) é a variável da junta.
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
31
Conforme foi visto anteriormente, uma matriz de transformação homogênea é caracterizada por seis quantidades: três ângulos de rotação (que podem ser os ângulos de Euler ou os ângulos de navegação RPY) e três componentes do vetor deslocamento. Na representação DH, existem apenas quatro parâmetros. Tal redução na quantidade de parâmetros é possível devido a uma certa liberdade de escolha da posição da origem e dos eixos coordenados do sistema do membro i, se forem satisfeitas as seguintes condições DH: DH1: o eixo zi-1 é o eixo da junta i; DH2: o eixo xi é perpendicular ao eixo z i-1, apontando no sentido do afastamento desse último e intercepta o eixo zi-1. A fig. 3.2 ilustra a representação DH:
Fig. 3.2 Representação DH Com base na fig. 3.2, pode-se, agora, dar uma interpretação física a cada parâmetro: ai =
distância, ao longo de xi, de Oi à interseção dos eixos xi e zi-1 (ou a distância mais curta entre os eixos zi-1 e zi);
di =
distância, ao longo de zi-1, de Oi-1 à interseção dos eixos xi e zi-1;
αi =
ângulo do eixo zi-1 para o eixo zi, medido em torno de xi (sinal dado pela regra da mão direita);
θi =
ângulo do eixo xi-1 para o eixo xi, medido em torno de z i-1, (sinal dado pela regra da mão direita).
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
32
3.6 ALGORITMO DE DENAVIT-HARTENBERG PARA A CINEMÁTICA DIRETA DE POSIÇÃO (Obs.: a definição dos sistemas de coordenadas não é única) PASSO 1:
Localizar e nomear os eixos das juntas, z0, z1, ... , z n-1, podendo ser os mesmos de rotação (junta R) ou de translação (junta P). O eixo z 0 deverá apontar para o ombro. Para robôs com braço (e/ou antebraço) à esquerda ou à direita do ombro, os eixos z 1 (e/ou z2) devem apontar no sentido do tronco para o braço.
PASSO 2:
Estabelecer o sistema da base O0x0y0z0. Colocar O0 em qualquer lugar sobre z 0. Os eixos x0 e y0 devem completar um triedro destrógiro. Colocar x 0 e y0 em posições convenientes. PARA i = 1, 2, ... , n-1, REALIZAR OS PASSOS 3 A 5:
PASSO 3:
Localizar a origem Oi onde a normal comum a z i e zi-1 (reta que contem a menor distância entre zi e z i-1) intercepta zi. Se zi intercepta zi-1, localizar Oi nessa interseção. Se zi e zi-1 são paralelos, localizar Oi na junta i.
PASSO 4:
Estabelecer xi ao longo do produto vetorial ±(zi x zi-1), através de Oi, ou da normal comum aos eixos zi e zi-1, quando eles forem paralelos.
PASSO 5:
Estabelecer yi de modo a completar um sistema destrógiro.
PASSO 6:
Estabelecer o sistema do órgão terminal, Onxnynzn, conforme fig. 3.3, onde:
Fig. 3.3 Sistema do órgão terminal On = centro do órgão terminal; a = vetor unitário na direção de aproximação ao objeto ( approach) zn-1; s = vetor unitário na direção de abertura/fechamento da garra ( sliding); n = s x a = vetor unitário na direção normal, completa o sistema destrógiro. Obs.: em caso de conflito da disposição acima com a condição DH2, seguir essa última.
33
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
PASSO 7:
Criar uma tabela com os parâmetros DH: Corpo
ai
αi
di
(*)
θi
(**)
1 2 ... n (*) variável, se junta P
(**) variável, se junta R
PASSO 8:
Formar as matrizes de transformação homogênea, substituindo os parâmetros DH na equação (3.5.2).
PASSO 9:
Formar a matriz de transformação homogênea total, substituindo as matrizes obtidas no passo 8 na eq. (3.4.1).
PASSO 10 :
Formar a matriz de transformação homogênea total "direta", usando a eq. (3.4.3), a qual, após desenvolvimento, apresenta a forma
cos( x n , x0) cos(y n , x0) cos(zn , x0 ) cos( x n , y ) cos(y , y ) cos(zn , y ) 0 n 0 0 n H0 = cos( x n , z0) cos( yn , z0) cos( zn , z0 ) 0 0 0 PASSO 11 :
x0
y0
z0
(3.6.1)
1
Igualar as matrizes obtidas nos passos 9 e 10, obtendo as equações da cinemática direta de posição.
Observação - a convenção DH fornece uma definição não única nos seguintes casos:
•
Para o sistema da base O0x0y0z0, somente a direção do eixo z 0 é especificada, logo O0 e x0 podem ser escolhidos arbitrariamente;
•
Para o sistema do órgão terminal, Onxnynzn, somente a escolha do eixo x n está estabelecida (deve estar ao longo do eixo z n-1);
•
Quando dois eixos consecutivos são paralelos, a normal comum entre eles não está unicamente definida;
•
Quando dois eixos consecutivos se interceptam, a direção de x i é arbitrária;
•
Quando a junta i é prismática, somente a direção do eixo z i-1 é determinada.
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
34
As figuras 3.4 e 3.5, a seguir, correspondentes, respectivamente, ao robô articulado PUMA e ao robô de Stanford, ilustram a aplicação dos passos 1 a 7 do algoritmo DH.
Fig. 3.4 – Sistemas de Coordenadas e Parâmetros DH para o robô articulado PUMA
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
Fig. 3.5 – Sistemas de Coordenadas e Parâmetros DH para o robô de Stanford
35
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
36
3.7 EXEMPLO ILUSTRATIVO 1: ROBÔ CILÍNDRICO A fig. 3.6 representa simbolicamente o robô cilíndrico RPP. Usando o algoritmo DH, desenvolver as equações da cinemática direta de posição para os três primeiros graus de liberdade.
Fig. 3.6 Robô cilíndrico Solução Passos 1 a 6: representados na própria figura. Passo 7: Corpo
ai
αi
di
θi
1 2 3
0 0 0
0 -90 0
d1 d2 d3
θ1 0 0
Passo 8: substituindo os parâmetros DH na eq. (3.5.2):
37
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
i = 1:
cos θ1 -sen θ1 sen θ cos θ 1 1 1 A0= 0 0 0 0
i = 2:
1 0 0 0 2 A1= 0 −1 0 0
i = 3:
1 0 3 A2= 0 0
0 1 0 0
0 1 0 0 0 0 1 0
0 0 1 0
0 0 d1 1
0 0 d 2 1 0 0 d 3 1
Passo 9: substituindo as matrizes obtidas no passo 8 na eq. (3.4.1), obtem-se: H30 = A10 A21 A32
cos θ1 0 -sen θ1 -d3 sen θ1 sen θ 0 cos θ d3 cos θ1 1 1 3 H0= 0 1 0 d + d − 1 2 0 0 0 1
(3.7.1)
Passo 10: matriz de transformação homogênea total "direta", usando a eq. (3.6.1):
cos( x n , x0) cos(y n , x0) cos(zn , x0 ) cos( x n , y ) cos(y , y ) cos(zn , y ) 0 n 0 0 n H0 = cos( x n , z0) cos( yn , z0) cos( zn , z0 ) 0 0 0
x0
y0
z0
1
Passo 11: igualando as matrizes obtidas nos passos 9 e 10, obtem-se as equações da cinemática direta de posição
cos(x3, x0) = cosθ1 cos(y3, x0) = 0 cos(z3, x0) = -senθ1 cos(x3, y0) = senθ1 cos(y3, y0) = 0 cos(z3, y0) = cosθ1 cos(x3, z0) = 0
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
38
cos(y3, z0) = -1 cos(z3, z0) = 0 que fornecem a orientação do órgão terminal, e x0 = -d3senθ1 y0 = d3cosθ1 z0 = d1 + d2 que fornecem a posição do órgão terminal.
3.8 EXEMPLO ILUSTRATIVO 2: PUNHO ESFÉRICO Muito usado em robótica industrial, caracteriza-se por três rotações em torno de três eixos z3, z4 e z5, que se interceptam num mesmo ponto, denominado centro do punho , conforme ilustra a fig. 3.7:
Fig. 3.7 Punho esférico Note-se que as variáveis das juntas, θ4, θ5 e θ6, são os ângulos de Euler φ, θ e ψ , com relação ao sistema de coordenadas do punho, O 3x3y3z3. Achar a matriz de transformação homogênea H63. Solução Trata-se, agora, de aplicar o algoritmo DH somente até o passo 9: Passos 1 a 6: representados na própria figura. Passo 7: Corpo
ai
αi
di
θi
4
0
-90
0
θ4
39
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
5 6
0 0
90 0
0 d6
θ5 θ6
Passo 8: substituindo os parâmetros DH na eq. (3.5.2):
i = 4:
cos θ4 0 -sen θ4 sen θ 0 cos θ4 4 4 A3= 0 −1 0 0 0 0
i = 5:
cos θ5 sen θ 5 5 A4= 0 0
i = 6:
cos θ6 -sen θ6 sen θ cos θ 6 6 6 A5= 0 0 0 0
0 sen θ5 0 cos θ5 1 0 0 0 0 0 1 0
0 0 0 1
0 0 0 1 0 0 d6 1
Passo 9: substituindo as matrizes obtidas no passo 8 na eq. (3.4.1), obtem-se: H63 = A43 A54 A65 =
(3.8.1) onde foram usadas as notações senθ4 = S4, cosθ5 = C5, etc. A eq. (3.8.1) é de extrema utilidade, já que a grande maioria dos robôs utilizam punhos esféricos.
3.9 EXEMPLO ILUSTRATIVO 3: ROBÔ CILÍNDRICO COM PUNHO ESFÉRICO Como último exemplo ilustrativo, considere-se a combinação robô cilíndrico RPP com punho esférico RRR. Desenvolver as equações da cinemática direta de posição.
40
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
Solução Examinando as duas figuras anteriores, observa-se que o eixo de rotação da junta 4 do punho esférico coincide com o eixo z 3 do robô cilíndrico. Logo, pode-se combinar as expressões desenvolvidas nos exemplos anteriores, eqs. (3.7.1) e (3.8.1), passando diretamente ao passo 9 do algoritmo DH: H6 0 = H3 0 H6 3
Logo, executando o produto matricial acima e igualando o resultado obtido à matriz "direta" (passo 10), chega-se às equações da cinemática direta de posição (passo 11): cos(x6, x0) = C1C4C5C6 - C1S4S6 + S1S5C6 cos(y6, x0) = -C1C4C5S6 - C1S4C6 - S1S5S6 cos(z6, x0) = C1C4S5 - S1C5 cos(x6, y0) = S1C4C5C6 - S1S4S6 - C1S5C6 cos(y6, y0) = -S1C4C5S6 - S1S4C6 + C1S5S6 cos(z6, y0) = S1C4S5 + C1C5 cos(x6, z0) = -S4C5C6 - C4S6 cos(y6, z0) = S4C5S6 - C4C6 cos(z6, z0) = -S4S5
(3.9.1)
que fornecem a orientação do órgão terminal, e x0 = d6C1C4S5 - d 6S1C5 - d3S1 y0 = d6S1C4S5 + d 6C1C5 + d 3C1 z0 = d1 + d2 - d6S4S5 que fornecem a posição do órgão terminal.
(3.9.2)
Capítulo 3 - Cinemática Direta de Posição. Representação de Denavit-Hartenberg
41
PROBLEMAS
3.1 Detalhar o desenvolvimento das eqs. (3.9.1) e (3.9.2). 3.2 O manipulador de Stanford (desenvolvido na Universidade de Stanford, USA) é um manipulador RRPRRR. Apresenta a característica de ter uma excentricidade no ombro, conforme fig. 3.8, abaixo, na qual já estão desenhados os eixos das juntas (passos 1 a 6 do algoritmo DH). Sendo o punho esférico, achar as equações para a cinemática direta de posição.
Fig. 3.8 Manipulador de Stanford 3.3 Desenvolver as equações para a cinemática direta de posição para o manipulador SCARA do Laboratório de Manufatura Integrada por Computador. Testar para posições conhecidas. 3.4 Desenvolver as equações para a cinemática direta de posição para o manipulador articulado MK3 do Laboratório de Manufatura Integrada por Computador. Testar para posições conhecidas. 3.5 Desenvolver as equações para a cinemática direta de posição para o manipulador articulado ER9 do Laboratório de Manufatura Integrada por Computador. Testar para posições conhecidas.
42
Capítulo 4 - Cinemática Inversa de Posição
CAPÍTULO 04 CINEMÁTICA INVERSA DE POSIÇÃO
4.1 INTRODUÇÃO No capítulo anterior foi visto como determinar a posição e a orientação do órgão terminal em termos das variáveis das juntas. No presente capítulo será estudado como resolver o problema inverso, ou seja, achar as variáveis das juntas em termos da posição e orientação do órgão terminal: x0, y0, z0 ângulos do sistema do OT c/ sistema da base
→
Cinemática Inversa de Posição
→
θi, i = 1, 2, ... , 6
O problema da cinemática inversa é, em geral, mais difícil de resolver, em forma fechada. Como exemplo, considere-se um manipulador de Stanford. A solução do problema da cinemática direta de posição (conforme solicitado no problema 3.2 do capítulo 3) é dada pelo conjunto de 12 equações com 6 incógnitas
(4.1.1) onde os membros da direita são os elementos da matriz que fornece a posição e a orientação do órgão terminal:
43
Capítulo 4 - Cinemática Inversa de Posição
(4.1.2) Para achar as variáveis das juntas θ1, θ2, d 3, θ4, θ5 e θ6, deve-se resolver o sistema (4.1.1), o que é bastante difícil de conseguir em forma fechada, pois se trata de um sistema altamente não-linear. Além disso, enquanto a cinemática direta tem sempre uma única solução, a cinemática inversa pode ter ou não solução (p. ex., quando a posição desejada cai fora do volume de trabalho) e, no caso de existir solução, pode a mesma ser ou não única. Para contornar o problema deve-se, então, desenvolver técnicas sistemáticas eficientes que explorem a estrutura cinemática particular do manipulador. Será considerado, daqui em diante, que a matriz homogênea dada pela eq. (4.1.2) corresponde a uma configuração no interior do volume de trabalho do manipulador, o que garante a existência de pelo menos uma solução.
4.2 DESACOPLAMENTO CINEMÁTICO Felizmente, para manipuladores com seis juntas, nos quais os eixos das três últimas juntas se interceptam em um ponto (como no caso do manipulador de Stanford acima), é possível desacoplar o problema da cinemática inversa em dois problemas mais simples, conhecidos por cinemática inversa de posição e cinemática inversa de orientação , respectivamente. Ou seja, para um manipulador com seis graus de liberdade munido de um punho esférico, pode-se inicialmente achar a posição do centro do punho (interseção dos três eixos do punho esférico) e, após, encontrar a orientação do punho. Considere-se, pois, que existam exatamente seis graus de liberdade e que os eixos das últimas três juntas, os eixos z 4, z5 e z6, se interceptem no ponto O (centro do punho), no qual se localizam as origens O 4 e O5 e, na maioria das vezes, embora não necessariamente, a origem O 3, conforme fig. 3.7. A posição do centro do punho é função apenas das três primeiras coordenadas, não dependendo das três últimas coordenadas. A origem O6 do sistema do órgão terminal é obtida por uma translação d 6 ao longo do eixo z5, a partir do centro do punho O. Chamando pc o vetor que vai da origem do sistema da base O 0x0y0z0 ao centro do punho, tem-se (ver fig. 4.1): d = pc + d6Rk
ou pc = d - d6Rk
(4.2.1)
44
Capítulo 4 - Cinemática Inversa de Posição
Fig. 4.1 Desacoplamento cinemático onde a orientação do sistema do órgão terminal é dada pela matriz R e a posição do mesmo é dada pelo vetor d. Em forma expandida, pode-se escrever a eq. (4.2.1) como
(4.2.2) onde r13, r23 e r33 são elementos de R, a qual é conhecida (dada). Assim, usando a eq. (4.2.2), pode-se calcular as coordenadas do centro do punho e, depois, achar as três primeiras variáveis das juntas, q 1, q2 e q3, através de relações retiradas da geometria do manipulador, conforme será ilustrado mais adiante. Podese, após, determinar a orientação do órgão terminal em relação ao sistema O3x3y3z3 (extremidade do punho) a partir da expressão R = R30 R63
ou
6
(4.2.3)
3 -1
R 3 = ( R 0) R R63 = (R30)T R
(4.2.4)
pois R30 é ortogonal. As três últimas variáveis das juntas, q4, q5 e q6, (que, no caso do punho esférico, serão sempre θ4, θ5 e θ6), são então encontradas como um conjunto de ângulos de Euler correspondentes a R63. Note-se que o membro direito da eq. (4.2.4) é conhecido, pois R é dada e R30 pode ser calculada, já que as três primeiras variáveis das juntas, q1, q2 e q3, são conhecidas, a partir da geometria do manipulador. A seção seguinte ilustra o procedimento.
45
Capítulo 4 - Cinemática Inversa de Posição
4.3 CINEMÁTICA INVERSA DE POSIÇÃO. ENFOQUE GEOMÉTRICO Nesta seção será apresentado apenas o enfoque geométrico para a cinemática inversa de posição por duas razões. Primeiro, porque as configurações cinemáticas dos robôs industriais são relativamente simples, conforme foi visto no capítulo 1. Segundo, porque existem poucas técnicas disponíveis para tratar o problema geral da cinemática inversa de configurações quaisquer. A maioria dos robôs industriais é composta de seis graus de liberdade, com três variáveis de juntas no tronco e três no punho, em geral esférico. Além disso, conforme já foi visto anteriormente, muitos dos parâmetros DH ai e di são nulos, enquanto que os parâmetros αi são 0 ou ± π /2. Nesses casos, o desacoplamento é bastante facilitado, conforme será ilustrado a seguir. Seja o manipulador articulado da fig. 4.2, onde p x, py e pz, já foram obtidos através da eq. (4.2.2):
Fig. 4.2 Manipulador articulado O vetor pc, que liga O0 a O (não mostrado na figura), aparece projetado (vetor r) sobre o plano horizontal que passa pela origem do sistema O1x1y1z1 (note-se que é a mesma origem do sistema O0x0y0z0). py Da figura: arctg (4.3.1) = θ1 px Observe-se que existe uma segunda solução válida para θ1, que é py arctg (4.3.2) = +π θ1 px As soluções para θ1, dadas pelas eqs. (4.3.1) e (4.3.2), não são válidas para p x = py = 0 porque, p nesse caso, arctg y é indeterminado e o manipulador encontra-se em uma posição singular, na qual o px centro do punho está sobre o eixo z 0 e, portanto, qualquer valor de θ1 satisfaz esta configuração, existindo, pois, uma infinidade de soluções, conforme ilustra a fig. 4.3:
46
Capítulo 4 - Cinemática Inversa de Posição
Fig. 4.3 Configuração singular Para sanar esse problema, pode-se introduzir uma excentricidade no ombro, d 1, como mostra a fig. 4.4. Nesse caso, o centro do punho não cairá sobre o eixo z 0, havendo então somente duas soluções para θ1 .
Fig. 4.4 Manipulador articulado com excentricidade no ombro Tais soluções correspondem às chamadas configurações braço esquerdo e braço direito, conforme mostram as vistas superiores das fig. 4.5 e 4.6, respectivamente:
Fig. 4.5 Configuração braço esquerdo
47
Capítulo 4 - Cinemática Inversa de Posição
Fig. 4.6 Configuração braço direito Da fig. 4.5 tira-se a primeira solução, para a configuração braço esquerdo :
θ1 = φ - α
(4.3.3)
onde φ
α
= arctg
= arctg
py px
d1 = arctg d1 2 2 2 2 2 − + r d1 px p y − d1
A segunda solução, obtida a partir da configuração braço direito da fig. 4.6 é dada por θ 1 = arctg
py px
+ arctg
d1 2
2
2 1
(4.3.4)
p x + py − d
Para achar os ângulos θ2 e θ3, dado θ1, considere-se o plano formado pelo braço e pelo antebraço, conforme fig. 4.7:
Fig. 4.7 Plano vertical formado pelo braço e antebraço
48
Capítulo 4 - Cinemática Inversa de Posição
Tendo em vista que o movimento do braço e do antebraço é planar, a solução é análoga à desenvolvida para o manipulador planar do cap. 1. Assim, aproveitando aqueles resultados (eqs. (1.7.4) a (1.7.7)) e fazendo as devidas adaptações, pode-se escrever (comparar as figs. 1.18 e 4.7):
(4.3.5) onde d1 aqui é o parâmetro DH e não a excentricidade recém descrita. Portanto, θ3 é dado por
± 1 - D2 θ 3 = arctg D
(4.3.6)
onde as duas soluções para θ3 correspondem às posições cotovelo acima e cotovelo abaixo, respectivamente. s Analogamente, θ2 é dado por θ 2 = arctg − arctg r
a 3 S3 = arctg p z − d 1 − arctg a 3 S3 2 2 a 3 + a 3 C3 a 3 + a 3 C3 px + p y
(4.3.7)
Um exemplo de manipulador articulado com excentricidade é o robô PUMA mostrado na fig. 4.8. Existem quatro soluções, conforme ilustra a figura. Será visto mais adiante que existem duas soluções para a orientação do punho esférico, dando, assim, um total de oito soluções para a cinemática inversa desse tipo de manipulador.
Capítulo 4 - Cinemática Inversa de Posição
49
Fig. 4.8 Quatro soluções da cinemática inversa de posição do manipulador PUMA
4.4 CINEMÁTICA INVERSA DE ORIENTAÇÃO No item anterior foi utilizado o enfoque geométrico para a obtenção das três primeiras variáveis das juntas, correspondentes a uma dada posição do centro do punho. Resta, agora, resolver o problema da cinemática inversa de orientação, ou seja, encontrar os valores das três últimas variáveis das juntas, correspondentes a uma dada orientação do órgão terminal, com relação ao sistema O 3x3y3z3. Para um punho esférico, isso significa achar um conjunto de ângulos de Euler correspondentes a uma dada matriz de rotação R, conforme exposto no capítulo 3.
50
Capítulo 4 - Cinemática Inversa de Posição
Seja dada a matriz de orientação U = uij, obtida a partir do membro direito da eq. (4.2.4) e seja R63 a matriz de transformação, obtida através da eq. (2.4.1). O problema consiste, então, em encontrar os ângulos de Euler φ, θ e ψ , que satisfazem a equação matricial
(4.4.1) Dois casos podem se apresentar. o
1 caso: u13 e u23 não são simultaneamente nulos.
Então , da eq. (4.4.1), vemos que
C φ Sθ = u13 ≠ 0 Sφ Sθ = u23 ≠ 0
de onde se conclui que Sθ ≠ 0, logo Sθ ≠ 0 ⇒
Logo, podemos escrever
u31 ≠ 0 u32 ≠ 0 u33 = Cθ ≠ ± 1
θ = arctg (Sθ /Cθ), ou seja, 2
θ = arctg
ou
1- u 33 u 33
− 1- u 233 θ = arctg u 33
Se for escolhido o primeiro valor para θ, então Sθ > 0 e a primeira solução é dada por φ = arctg u 23 u13 ψ = arctg u 32 e -u31
(4.4.2)
(4.4.3)
(4.4.4) (4.4.5)
Por outro lado, se for escolhido o segundo valor para θ, então Sθ < 0 e a segunda solução é dada por (4.4.6) φ = arctg -u23 -u13 e (4.4.7) ψ = arctg -u32 u 31
51
Capítulo 4 - Cinemática Inversa de Posição
2o caso: u13 e u23 são simultaneamente nulos.
Se u13 = u23 = 0, então, pela eq. (4.4.1), S θ = 0 e a matriz de rotação U passa a ter a forma
onde u33 = ± 1 pois Cθ = ± (1 - S2θ)1/2 = ± 1. A seguir, serão examinadas cada uma das possibilidades para u33. Cθ = 1 (1) Se u33 = + 1
⇒
⇒
θ = 0 e a eq. (4.4.1) se torna
Sθ = 0
Assim, a soma φ + ψ pode ser determinada como
φ + ψ = arctg u 21 = arctg -u12 u11 u11
(4.4.8)
Como, nesse caso, apenas a soma φ + ψ pode ser determinada, existe um número infinito de soluções. Pode-se, por convenção, tomar φ = 0 e achar ψ através da eq. (4.4.8). Cθ = - 1 (2) Se u33 = - 1
⇒
⇒
θ = π e a eq. (4.4.1) se torna
Sθ = 0
Assim, a diferença φ - ψ pode ser determinada como φ - ψ = arctg -u12 = arctg -u22 -u11 -u 21
(4.4.9)
Como, nesse caso, apenas a diferença φ - ψ pode ser determinada, existe um número infinito de soluções. Podemos, por convenção, tomar φ = 0 e achar ψ através da eq. (4.4.9).
52
Capítulo 4 - Cinemática Inversa de Posição
Exemplo ilustrativo: manipulador articulado com punho esférico.
A cinemática inversa de posição já foi resolvida, conforme eqs. (4.3.1) a (4.3.7). Para resolver a cinemática inversa de orientação, podemos iniciar determinando R30, pois 3
1
2
R0=A0A1A
3
2
onde as matrizes Aii-1 são dadas pela eq. (3.5.2). Fazendo tal cálculo, chega-se facilmente a
(a) Por outro lado, a matriz R 3, referente ao punho esférico, já foi fornecida pela eq. (3.8.1), aqui repetida: 6
(b) Portanto, dada a matriz de rotação total R: r11 r12 r13 R = r r r 21 22 23 r31 r 32 r 33 R63 = (R30)T R = U
trata-se de resolver
(c)
(d)
Substituindo as eqs. (a), (b) e (c) na eq. (d), obtemos uma equação matricial da qual tiramos as seguintes equações algébricas relevantes para a aplicação do procedimento exposto anteriormente: - elementos (1,3):
C4S5 = C1C23r13 + S1C23r23 - S23r33 = u13
- elementos (2,3):
S4S5 = -C1S23r13 - S1S23r 23 - C23r33 = u23
- elementos (3,3):
C5 = -S1r13 + C1r23
10 caso: u13 e u23 não são simultaneamente nulos
C4S5 ≠ 0
⇒
Então: S4S5 ≠ 0
S5 ≠ 0
53
Capítulo 4 - Cinemática Inversa de Posição
e pode-se usar as eqs. (4.4.2) a (4.4.7) para obter os ângulos θ5 (ângulo de Euler θ), θ4 (ângulo de Euler φ) e θ6 (ângulo de Euler ψ ). 20 caso: u13 e u23 são simultaneamente nulos
C4S5 = 0
⇒
Então:
S5 = 0
⇒
eixos das juntas 3 e 5 são colineares e somente
S4S5 = 0 a soma θ4 + θ6 pode ser determinada. Uma solução é escolher θ4 arbitrariamente e então determinar θ6 usando a eq. (4.4.8) ou a eq. (4.4.9).
PROBLEMAS 4.1 Resolver o problema da cinemática inversa de posição e de orientação de um robô cartesiano dotado de punho esférico, cujas primeiras três coordenadas das juntas são d1, d2 e d3. 4.2 Idem 4.1, para um robô cilíndrico RPP com punho esférico. 4.3 Completar o exemplo ilustrativo do item 4.4, detalhando todas as passagens matemáticas. 4.4 De posse de todas as expressões para a cinemática inversa do manipulador articulado, obtidas no problema anterior, escrever um programa de computador para resolver o problema completo da cinemática inversa. Incluir procedimentos para identificar configurações singulares e escolher uma solução particular quando a configuração é singular. Testar o programa para vários casos especiais (incluindo configurações singulares) de fácil verificação.
54
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
CAPÍTULO 5 CINEMÁTICA DA VELOCIDADE E DA ACELERAÇÃO O JACOBIANO DO MANIPULADOR
5.1 INTRODUÇÃO Nos capítulos anteriores foram estudadas as cinemáticas direta e inversa da posição. Para o estudo das cinemáticas direta e inversa da velocidade e da aceleração, há necessidade de estudar certas propriedades das matrizes de rotação, as quais serão úteis no estudo das transformações de velocidades e acelerações entre sistemas de coordenadas. No presente capítulo serão apresentadas as citadas propriedades e deduzidas as relações entre as velocidades lineares e angulares do órgão terminal (ou de qualquer outro ponto do manipulador) e as velocidades das juntas. Também serão discutidas a relação entre as acelerações das juntas e do órgão terminal (ou de qualquer outro ponto do manipulador). 5.2 PROPRIEDADES DAS MATRIZES DE ROTAÇÃO Considere-se uma matriz de rotação variante no tempo R = R(t). Tendo em vista a ortogonalidade de R, pode-se escrever Derivando em relação ao tempo: (5.2.1) Definindo
(5.2.2)
pode-se verificar facilmente que a matriz S é anti-simétrica, pois (5.2.3) Pósmultiplicando a eq. (5.2.3) por R(t), e levando em conta as eqs. (5.2.1) e (5.2.2), chega-se a
55
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
(5.2.4) que permite expressar a derivada temporal da matriz de rotação em função dela mesma e da matriz antisimétrica S(t). Essa matriz anti-simétrica S(t) tem uma interpretação física interessante. Considere-se um vetor constante p’ e o vetor função do tempo p(t) = R(t) p’. Derivando em relação ao tempo o vetor p(t):
ou, tendo em vista a eq. (5.2.4): Denotando o vetor velocidade angular instantânea do sistema R(t) com relação ao sistema inercial por ω(t), sabe-se da mecânica que
Portanto, observando as duas últimas equações, verifica-se que a matriz S(t) descreve o produto matricial entre o vetor ω(t) e o vetor R(t) p’. A matriz S(t) representa o vetor ω(t) = [ωx ωy ωz]T na forma
(5.2.5) o que justifica que S(t) = S(ω(t)). No importante caso particular dos vetores unitários i, j e k, tem-se
0 S( i ) = 0 0 0 S( j) = 0 -1 0 S( k) = 1 0
0 0 1 0 0 0 -1 0 0
0 -1 0 1 0 0 0 0 0
(5.2.6)
(5.2.7)
(5.2.8)
Também pode-se provar que, se R é uma matriz de rotação, então (5.2.9) expressão que será muito útil mais tarde.
56
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Propriedades da matriz S
A matriz S apresenta algumas propriedades interessantes que estão relacionadas a seguir, sem provas, embora as mesmas não sejam difíceis. (1) Linearidade
S(αa + βb) = αS(a) + βS(b)
(5.2.10)
onde α e β são escalares e a e b são vetores. (2) Para qualquer vetor p
S (a) p = a x p
(5.2.11)
isto é, o produto matricial da matriz anti-simétrica associada ao vetor a, S(a), pelo vetor p, é igual ao produto vetorial do vetor a pelo vetor p. (3) Seja a matriz ortogonal 3 x 3 R e sejam a e b dois vetores no espaço 3D. Então R( a x b) = R a x R b
(5.2.12)
ou seja, se primeiro forem girados a e b usando a matriz de transformação R e depois formado o produto vetorial dos vetores girados R a e R b, o resultado é o mesmo que o obtido primeiro formando o produto vetorial a x b e depois girando o vetor produto. (4)
T
R S ( a ) R = S ( R a)
(5.2.13)
(5) Se R = R(θ) é uma matriz de rotação função apenas da variável θ, então dR = S R (θ ) dθ
(5.2.14)
5.3 VELOCIDADE E ACELERAÇÃO Seja R(t) uma matriz de rotação ortogonal 3 x 3, dependente do tempo. De acordo com a eq. (5.2.4) e com a justificativa de que S(t) = S(ω(t)), conforme visto no item 5.2, pode-se escrever .
R
= S(ω (t))R (t)
(5.3.1)
Velocidade
Considere-se, inicialmente, o caso da rotação pura. Seja um vetor p1, definido no sistema móvel O1x1y1z1, o qual gira em relação ao sistema fixo O 0x0y0z0. Então, o vetor dado é transformado para o sistema fixo através da relação p0 = R(t) p1 (5.3.2) Para achar a velocidade em relação ao sistema fixo, basta derivar a eq. (5.3.2) em relação ao tempo:
57
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
(5.3.3) que é a familiar expressão da velocidade no caso da rotação pura. Seja, agora, o caso geral de translação e rotação. Nesse caso, a matriz de transformação homogênea é dada por R10 (t) d10 (t) 1 (5.3.4) H 0 (t) = 1 O Por simplicidade, serão omitidos o argumento t e os superescritos e subescritos que aparecem na matriz e no vetor da expressão acima. Assim, o vetor posição, em relação ao sistema da base, é dado por p0 = d + R p1 (5.3.5) Derivando em relação ao tempo, obtem-se o vetor velocidade:
(5.3.6) .
onde foi usada a eq. (5.3.1) e adotada a notação d = v . Na eq. (5.3.6):
v é a velocidade linear da origem do sistema móvel em relação ao sistema fixo;
é a velocidade angular do sistema móvel em relação ao sistema fixo; r = R p1 é o vetor posição p1 em relação ao sistema fixo. ω
Se o vetor p1 estiver se movimentando em relação ao sistema móvel, então deve-se adicionar ao termo v o termo
. R (t) p1
que é a taxa de variação de p1 expressa no sistema O 0x0y0z0. Aceleração
A eq. (5.3.6) pode ser colocada na forma
(5.3.7) Derivando em relação ao tempo: (5.3.8) A eq. (5.3.8) pode ser escrita como (5.3.9)
58
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
onde a é a aceleração linear. O termo ω x (ω x r) denomina-se aceleração centrípeta da partícula e está sempre dirigido para o eixo de rotação, sendo perpendicular a esse eixo. O termo é chamado aceleração transversal. Se o vetor p1 estiver variando com relação ao sistema móvel, a expressão (5.3.9) deve ser modificada para (5.3.10) onde
O termo
é conhecido como aceleração de Coriolis.
5.4 ADIÇÃO DE VELOCIDADES ANGULARES Muitas vezes tem-se interesse em achar a velocidade angular resultante devida à rotação relativa de vários sistemas de coordenadas. Considere-se, inicialmente, a composição das velocidades angulares de apenas dois sistemas de coordenadas móveis, O 1x1y1z1 e O2x2y2z2, em relação a um sistema fixo O0x0y0z0. Seja um ponto p representado nos respectivos sistemas pelas relações
(5.4.1) onde
(5.4.2)
e
(5.4.3)
Derivando a eq. (5.4.2) em relação ao tempo: (5.4.4) O termo
da expressão acima pode ser escrito como (5.4.5)
O primeiro termo do lado direito da eq. (5.4.4) é simplesmente (5.4.6) Quanto ao segundo termo do lado direito da eq. (5.4.4), usando a eq. (5.2.12), obtem-se
59
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
(5.4.7) Combinando as expressões acima (5.4.8) Tendo em vista que S(a) + S(b) = S(a + b), vê-se então que (5.4.9) Em outras palavras, as velocidades angulares podem ser somadas, desde que estejam expressas em relação ao mesmo sistema de coordenadas, no caso o sistema O 0x0y0z0. A expressão (5.4.9) pode ser extendida para qualquer número de sistemas de coordenadas: (5.4.10)
5.5 O JACOBIANO DO MANIPULADOR Matematicamente, as equações da cinemática direta definem uma função entre o espaço das posições e orientações cartesianas (ou, simplesmente, o espaço cartesiano) e o espaço das posições das juntas (ou, simplesmente, o espaço das juntas). As relações entre velocidades são, então, determinadas pelo Jacobiano dessa função. O Jacobiano é uma função matricial, podendo ser imaginado como uma versão vetorial da derivada ordinária de uma função escalar. Trata-se de uma das quantidades mais importantes na análise e no controle do movimento de um robô. Ele aparece em basicamente todos os aspectos da manipulação de um robô: no planejamento e execução de trajetórias, na determinação de configurações singulares, na dedução das equações dinâmicas do movimento e na transformação de forças e torques do órgão terminal para as juntas do manipulador. Para um manipulador com n membros, deve-se deduzir o Jacobiano que representa a transformação instantânea entre o vetor das velocidades das juntas (n componentes) e o vetor das velocidades lineares e angulares do órgão terminal (6 componentes, sendo 3 velocidades lineares e 3 velocidades angulares), ou de qualquer outro ponto do manipulador. Portanto, o Jacobiano é uma matriz de dimensões 6 x n. Considere-se um manipulador com n variáveis das juntas, representadas pelo vetor q =[q1 q2 ... qn] e seja a transformação do sistema do órgão terminal em relação ao sistema da base dada por T
(5.5.1)
60
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
À medida que o robô se movimenta, tanto as variáveis das juntas, q i, como a posição d0n e a orientação do órgão terminal, R0n, serão funções do tempo. O objetivo agora é relacionar as . velocidades linear e angular do órgão terminal com o vetor das velocidades das juntas, q (t) . Seja a velocidade angular do órgão terminal definida por (5.5.2) e seja a velocidade linear do órgão terminal denotada por (5.5.3) Deseja-se obter expressões das formas (5.5.4) (5.5.5) onde Jv e J são matrizes 3 x n. Pode-se reunir as duas últimas equações como ω
(5.5.6) onde a matriz dada por
(5.5.7) é o conhecido Jacobiano do Manipulador , uma matriz 6 x n, onde n é o número de membros do manipulador.
5.6 DEDUÇÃO DO JACOBIANO
Inicialmente, será determinada a parte inferior do Jacobiano da eq. (5.5.7), J , referente à velocidade angular. Conforme estudado anteriormente, as velocidades angulares podem ser somadas vetorialmente, desde que estejam expressas em relação a um mesmo sistema de coordenadas. Assim, pode-se determinar a velocidade angular do órgão terminal, em relação à base, expressando a velocidade angular de cada membro em relação à base e somando vetorialmente essas velocidades. Logo, a velocidade angular do i-ésimo membro, se a junta for rotativa, em relação ao sistema i - 1, é dada por ω
(5.6.1)
61
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Por outro lado, se a junta for prismática, então tal velocidade angular é nula: (5.6.2) Portanto, a velocidade angular total do órgão terminal, em relação ao sistema da base, é dada por
(5.6.3) onde
(5.6.4)
denota o vetor unitário k do sistema i - 1 expresso em relação ao sistema da base e onde
ρi = 1 se a junta i é rotativa ρi = 0 se a junta i é prismática Assim, a metade inferior do Jacobiano da eq. (5.5.7) é dada por (5.6.5) Será, agora, determinada a parte superior do Jacobiano da eq. (5.5.7), Jv, referente à velocidade linear. A velocidade linear do órgão terminal pode ser obtida a partir da derivação temporal do vetor posição, usando a regra da cadeia da derivação: (5.6.6) Assim, vê-se que a i-ésima coluna de J v é simplesmente
Além disso, essa expressão é justamente a velocidade linear do órgão terminal que resulta se .
.
q i for igual a 1 e os outros q j forem nulos. Em outras palavras, a i-ésima coluna do Jacobiano é gerada
mantendo-se todas as juntas fixas exceto a i-ésima, que é atuada com velocidade unitária. Dois casos são considerados a seguir. Caso 1
Se a junta i é prismática, então R0 j-1 é independente de q i = di para todo j, e (5.6.7)
62
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Se todas as juntas forem fixadas, exceto a i-ésima, tem-se
(5.6.8) Assim,
(5.6.9)
Caso 2
Se a junta i é rotativa, então ok denota o vetor dk0 da origem O0 à origem Ok para qualquer k, e podese então escrever (5.6.10) ou, na nova notação:
(5.6.11)
Com relação à fig. 5.1, que ilustra o movimento do órgão terminal devido ao membro i, observe-se que tanto di-10 como Ri-10 são constantes se apenas a i-ésima junta for atuada.
Fig. 5.1 Movimento do órgão terminal devido ao i-ésimo membro Portanto, da eq. (5.6.10):
(5.6.12)
Tendo em conta que o movimento do membro i é uma rotação q i em torno de zi-1, tem-se (5.6.13)
e assim Portanto,
(5.6.14) (5.6.15)
63
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
e a parte superior do Jacobiano, J v é
(5.6.16)
onde a i-ésima coluna é
(5.6.17)
se a junta for rotativa e
(5.6.18)
se a junta for prismática. Reunindo as metades superior e inferior do Jacobiano, foi mostrado que o Jacobiano para um manipulador de n membros tem a forma (5.6.19) onde a iésima coluna é dada por
(5.6.20)
se a junta i for rotativa e
(5.6.21)
se a junta i for prismática. As fórmulas acima tornam simples a determinação do Jacobiano de qualquer manipulador, pois todas as quantidades necessárias já estão disponíveis a partir da cinemática direta. Na verdade, as únicas quantidades necessárias para calcular o Jacobiano são os vetores unitários zi e os vetores que localizam as origens O1, O2, ... , On, em relação à origem O 0. Ora, é fácil verificar que zi é dado pelos três primeiros elementos da terceira coluna da matriz Hi0, enquanto que oi é dado pelos três primeiros elementos da quarta coluna de Hi0. Portanto, apenas as terceira e quarta colunas das matrizes de transformação homogênea são necessárias para a construção do Jacobiano . O procedimento acima funciona não apenas para calcular a velocidade do órgão terminal, mas também para determinar a velocidade de qualquer ponto do manipulador. Isso será muito importante para a determinação das velocidades dos centros de massa dos vários membros do manipulador, a fim de deduzir as equações dinâmicas do movimento, conforme será estudado em capítulo posterior.
Exemplo ilustrativo
Considere-se o manipulador planar da fig. 1.15. Como ambas as juntas são rotativas, o Jacobiano (que neste caso é uma matriz 6 x 2) tem a forma
(5.6.22) onde vê-se facilmente que as várias quantidades que aparecem na expressão acima são dadas por
64
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
(5.6.23)
(5.6.24) Executando os cálculos:
(5.6.25) A expressão do Jacobiano dada acima é praticamente a mesma obtida no cap. 1 (ver eq. (1.7.9). Também é interessante observar que as duas primeiras linhas da eq. (5.6.25) fornecem a velocidade linear da origem O2 relativamente à base. A terceira linha é a velocidade linear na direção z 0 que, no presente caso, é zero. As três últimas linhas representam a velocidade angular do último sistema, que é simplesmente uma rotação em torno do eixo horizontal, cuja velocidade é
5.7 SINGULARIDADES .
O Jacobiano 6 x n, J(q), define uma relação linear entre o vetor das velocidades das juntas, q , e o vetor das velocidades do órgão terminal, . X
dada por
= (v,ω )
T
(5.7.1) (5.7.2)
Tendo em conta que o Jacobiano é função da configuração q, as configurações para as quais decresce a ordem de J possuem especial significado, sendo conhecidas como configurações singulares . A identificação de configurações singulares é importante por diversas razões: 1. As singularidades representam configurações em que a mobilidade do manipulador é reduzida, isto é, não é possível impor um movimento arbitrário ao órgão terminal; 2. Nas singularidades, pequenas velocidades do órgão terminal podem corresponder a grandes velocidades das juntas;
65
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
3. Nas singularidades, pequenas forças e torques do órgão terminal podem corresponder a grandes forças e torques das juntas; 4. As singularidades usualmente (mas nem sempre) correspondem a pontos do contorno do volume de trabalho do manipulador, isto é, pontos de máximo alcance do manipulador; 5. As singularidades correspondem a pontos do volume de trabalho do manipulador que podem ser inatingíveis sob pequenas mudanças dos parâmetros do membro (a i, di, etc.); 6. Nas proximidades das singularidades não existe uma única solução para o problema da cinemática inversa; em tais casos, pode não haver solução ou pode haver uma infinidade de soluções. Exemplo ilustrativo
Considere-se novamente o manipulador planar para o qual foi calculado anteriormente o Jacobiano, dado por
Para verificar se existem singularidades, é necessário examinar se existe redução na ordem da matriz. Como se trata de uma matriz 6 x 2, deve-se examinar todas as submatrizes quadradas 2 x 2 que nela estão contidas. No caso, existe a submatriz 2 x 2
(5.7.3) o que comprova que o manipulador pode apresentar singularidades. Tais singularidades podem ser identificadas calculando-se as condições para as quais o det J é nulo, isto é: det J = a1a2s2 = 0 Como a1 e a2 ≠ 0 (comprimentos do braço e do antebraço), então o determinante se anula quando
θ2 = 0
ou
θ2 = π
que são, respectivamente, as situações em que o órgão terminal está localizado na superfície externa do volume de trabalho (conforme ilustra a fig. 1.19) e na superfície interna do volume de trabalho.
66
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
5.7.1 Desacoplamento de singularidades
Assim como foi feito o desacoplamento da cinemática inversa de posição da de orientação, para o caso de punho esférico, também pode-se fazer o desacoplamento das singularidades do braço (i. é., dos três primeiros membros) das singularidades do punho esférico . Considere-se que um manipulador clássico que tenha 3 GDL no braço e 3 GDL no punho esférico. Nesse caso, o Jacobiano é uma matriz 6 x 6 e uma configuração q é singular se e somente se (5.7.4) Pode-se particionar o Jacobiano em blocos 3 x 3:
(5.7.5) Logo, como as três últimas juntas são rotativas:
(5.7.6) Tendo em vista que os eixos do punho interceptam-se em um ponto comum o, se forem escolhidos sistemas de coordenadas tais que o3 = o4 = o5 = o6 = o, então a expressão para J0 torna-se
(5.7.7) e a i-ésima coluna J i de JP é (5.7.8) se a junta for rotativa, ou (5.7.9) se a junta for prismática. Nesse caso, o Jacobiano tem a forma triangular
(5.7.10) com determinante (5.7.11)
67
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
onde J11 e J22 são matrizes 3 x 3. J 11 tem a i-ésima coluna zi-1 x (o - oi-1) se a junta i for rotativa e zi-1 se a junta for prismática, enquanto que (5.7.12) Portanto, o conjunto de configurações singulares do manipulador é a união do conjunto de configurações do braço satisfazendo det J 11 = 0 e o conjunto de configurações do punho satisfazendo det J22 = 0. Note-se que essa forma do Jacobiano não fornece necessariamente a relação entre a velocidade do órgão terminal e as velocidades das juntas. Ela pretende apenas simplificar a determinação das singularidades. Serão examinadas, a seguir, as duas singularidades desacopladas. 5.7.2 Singularidades do punho
Pode-se ver facilmente, a partir da eq. (5.7.12), que um punho esférico está em uma configuração singular sempre que os vetores z3, z4 e z5 forem linearmente dependentes. Observando a fig. 5.2, vê-se que isso acontece quando os eixos das juntas z 3 e z5 são colineares:
Fig. 5.2 Singularidade do punho esférico De fato, sempre resulta uma singularidade quando os eixos de duas juntas rotativas forem colineares, pois, para θ5 = 0 (situação mostrada na figura acima) e θ5 = π, uma rotação igual e oposta em torno dos eixos não acarreta movimento líquido do órgão terminal. Essa é a única singularidade do punho esférico, a qual é inevitável, a não ser que se imponham limites mecânicos no projeto do punho, de tal modo que os eixos z 3 e z5 não possam ficar alinhados. 5.7.3 Singularidades do braço
Para investigar as singularidades do braço, é necessário apenas calcular J 11, de acordo com a eq. (5.7.8), conforme mostra o exemplo a seguir. Exemplo ilustrativo: Manipulador articulado
Seja o manipulador articulado da fig. 5.3:
68
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Fig. 5.3 Manipulador articulado Pode-se mostrar (ver problema 5.8) que
(5.7.13) e que o determinante de J 11 é (5.7.14) Da eq. (5.7.14) pode-se ver que o braço estará em uma configuração singular sempre que s3 = 0, ou seja, θ3 = 0 ou π e sempre que
(5.7.15) (5.7.16)
A situação da eq. (5.7.15) está mostrada na fig. 5.4 e aparece sempre que o antebraço está totalmente distendido ou totalmente retraído:
Fig. 5.4 Singularidades do braço do manipulador articulado A situação da eq. (5.7.16) está mostrada na fig. 5.5 e ocorre quando o centro do punho estiver sobre o eixo z0, de modo que nesse caso haverá uma infinidade de configurações singulares e de soluções para a cinemática inversa de posição:
69
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Fig. 5.5 Singularidades do braço do manipulador articulado sem excentricidade Para um manipulador articulado com excentricidade, conforme fig. 5.6, o centro do punho não pode interceptar z0, o que vem corroborar que configurações singulares podem ser evitadas impondo-se pequenas mudanças nos parâmetros do manipulador (nesse caso, uma excentricidade no cotovelo ou no ombro). Essa é uma solução muito utilizada pelos fabricantes de robôs.
Fig. 5.6 Manipulador articulado com excentricidade no ombro
5.8 CINEMÁTICA INVERSA DE VELOCIDADE E DE ACELERAÇÃO Conforme foi visto no item anterior, as velocidades das juntas estão relacionadas com as velocidades do órgão terminal pelo Jacobiano: (5.8.1) logo, a solução do problema da cinemática inversa da velocidade resume-se a resolver o sistema de equações diferenciais lineares (5.8.1), o que é conceitualmente simples.
70
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
Derivando a eq. (5.8.1) em relação ao tempo: (5.8.2) ..
Assim, dado um vetor das acelerações do órgão terminal, X , o vetor aceleração instantânea das juntas é dado como uma solução de (5.8.3) onde
(5.8.4)
Para manipuladores com 6 GDL, as equações para a cinemática inversa de velocidade e de aceleração podem ser escritas, respectivamente, como (5.8.5) (5.8.6) desde que det J(q) ≠ 0. Obs.: Para manipuladores redundantes (aqueles que dispõem de uma quantidade de graus de
liberdade maior do que a quantidade de variáveis necessárias para cumprir uma determinada tarefa) ou com menos do que 6 membros, o Jacobiano não pode ser invertido e, nesse caso, haverá uma solução para as eqs. (5.8.1) ou (5.8.4) se e somente se o vetor do membro esquerdo estiver dentro da faixa de operação do Jacobiano. Isso pode ser determinado pelo seguinte teste de ordem ( rank ): Um vetor a pertence à faixa de operação de J se e somente se (5.8.7) Em outras palavras,, a eq. (5.8.1) (eq. (5.8.4)) pode ser resolvida para ( ) desde que o rank da matriz aumentada [ J(q) X] ([J(q) b]) seja o mesmo do Jacobiano J. Esse é um resultado da Álgebra Linear e diversos algoritmos existem (tal como o da eliminação de Gauss) para resolver tais sistemas de equações lineares.
Capítulo 5 - Cinemática da Velocidade e da Aceleração. O Jacobiano do Manipulador
71
PROBLEMAS
5.1 Verificar a eq. (5.2.3). 5.2 Verificar a eq. (5.2.4). 5.2 Verificar as eqs. (5.2.6) a (5.2.8). 5.3 Deduzir a eq. (5.3.10). 5.4 Considerar o manipulador de Stanford do problema 3.2. Com base na cinemática direta obtida, detalhar o desenvolvimento do Jacobiano para esse manipulador. 5.5 Idem problema 5.4, para o manipulador SCARA do problema 3.3. 5.6 Idem problema 5.4, para o manipulador articulado MK3 do problema 3.4. 5.7 Idem problema 5.4, para o manipulador ER9 do problema 3.5. 5.8 Deduzir as eqs. (5.7.13) e (5.7.14). 5.9 Referindo-se à fig. 5.7 que mostra a singularidade do braço de um manipulador SCARA, mostrar que a mesma ocorre quando θ2 = 0, π.
72
Cap. 6 Dinâmica do Manipulador
CAPÍTULO 6 DINÂMICA DO MANIPULADOR
6.1 INTRODUÇÃO O modelo matemático (ou modelo dinâmico) do manipulador desempenha um papel preponderante na simulação do movimento, na análise da estrutura do manipulador e no projeto dos algoritmos de controle. Ele fornece uma descrição da relação entre as forças generalizadas (forças e torques) aplicadas nas juntas e o movimento do manipulador. Neste capítulo são introduzidos dois métodos da Mecânica que possibilitam deduzir tal modelo matemático. Inicialmente, será apresentada a chamada formulação de Euler-Lagrange, a qual é conceitualmente simples e sistemática. O segundo método refere-se a uma formulação alternativa, conhecida com formulação de Newton-Euler, que permite obter o modeoo matemático de uma forma recursiva e computacionalmente mais eficiente .
6.2 FORMULAÇÃO DE EULER-LAGRANGE Nesta seção será apresentado, sem dedução (o leitor interessado deve referir-se a obras de Mecânica Analítica), um sistema de equações diferenciais, conhecidas como Equações de EulerLagrange , o qual descreve o movimento de um sistema mecânico sujeito a restrições holonômicas, isto é, aqueles que apresentam equações de restrição ligando suas coordenadas generalizadas. Quando o movimento de um sistema mecânico estiver de alguma maneira restrito, surgem também as chamadas forças de restrição, isto é, as forças necessárias para que as restrições sejam satisfeitas. A determinação das forças de restrição (também denominadas forças de vínculo ou forças internas) nem sempre é uma tarefa fácil. Sob esse aspecto, a formulação Lagrangiana é uma alternativa vantajosa, pois ela não requer a determinação das forças de restrição para a obtenção das equações do movimento.
73
Cap. 6 Dinâmica do Manipulador
6.2.1
Coordenadas generalizadas
Considere-se um sistema de k partículas sujeito a l restrições holonômicas e possuindo uma quantidade de graus de liberdade igual à diferença entre a quantidade de graus de liberdade que o sistema teria se não houvessem restrições e l. Nesse caso, é possível expressar as coordenadas das k partículas em termos de n coordenadas generalizadas q1, q2, ... , qn, isto é, ri = ri (q1, q2, ... , qn)
i = 1, 2, ... , k
(6.2.1)
onde q1, q2, ... , qn são todas independentes. Como ilustração, seja um pêndulo simples constando de uma massa punctual m fixada a um fio inextensível de comprimento L, conforme mostra a fig. 6.1.
Fig. 6.1 Coordenada generalizada independente θ de um pêndulo simples Considere-se um sistema de coordenadas cartesianas com origem no centro de oscilação e sejam x e y as coordenadas cartesianas da massa. Pode-se ver facilmente que existe uma equação de restrição para o sistema, vinculando x e y, obtida pelo fato de que L é constante, que é: x2 + y2 = L2
(6.2.2)
Se não existisse a restrição acima, a massa teria dois graus de liberdade. Portanto, a quantidade de graus de liberdade é dada pela diferença 2 - 1 = 1, logo é possível expressar a posição da massa em termos de n = 1 coordenada generalizada independente (no caso, q 1 = θ, o ângulo que o fio faz com a vertical). Resumindo, sendo n a quantidade de graus de liberdade (igual à quantidade de coordenadas generalizadas independentes), l a quantidade de equações de restrição e p a quantidade de graus de liberdade do sistema se não existissem restrições, pode-se afirmar que: n=p-l
(6.2.3)
A idéia de coordenadas generalizadas pode ser usada mesmo quando existe uma infinidade de partículas. Por exemplo, um corpo rígido tal como uma barra possui uma infinidade de partículas, mas como a distância entre as mesmas não varia durante o movimento, somente seis coordenadas são suficientes para especificar completamente a posição da barra: três coordenadas para a posição do centro de massa da barra e três ângulos de Euler para a orientação do corpo.
74
Cap. 6 Dinâmica do Manipulador
6.2.2
Equações de Euler-Lagrange
Uma vez que tenha sido escolhido um conjunto de coordenadas generalizadas independentes q j, j = 1, 2, ..., n, onde n é a quantidade de graus de liberdade do sistema mecânico, define-se o Lagrangiano do sistema mecânico como L = K– V
(6.2.4)
onde K é a energia cinética e V é a energia potencial do sistema. Então, as Equações de EulerLagrange (ou, simplesmente, Equações de Lagrange) são expressas como: (6.2.5) onde τi é a força generalizada não conservativa (torque ou força) na direção da coordenada generalizada independente q i. Recorde-se, aqui, que uma força não conservativa é aquela que não pode ser obtida por derivação da energia potencial. Assim, a força elástica de uma mola (que pode ser obtida derivando-se a energia potencial elástica nela acumulada) e a força peso (que pode ser obtida derivando-se a energia potencial de posição) são forças conservativas e, portanto, não contribuem para a formação do membro direito das eqs. (6.2.5). Observe-se que as eqs. (6.2.5) constituem um sistema de n equações diferenciais, uma para cada grau de liberdade. A seguir, um exemplo elucidativo da aplicação das Equações de Lagrange. Exemplo Ilustrativo: Manipulador com um só braço
Seja o manipulador da fig. 6.2, consistindo de um braço rígido acoplado a um motor CC através de um trem de engrenagens:
Fig.6.2 Manipulador com um só braço Sejam θl e θm os deslocamentos angulares do braço e do motor, respectivamente. Nesse caso, sendo n a relação de transmissão do trem de engrenagens, tem-se θl = θm /n. A energia cinética do sistema é dada por
Cap. 6 Dinâmica do Manipulador
75
onde Jl e Jm são os momentos de inércia de massa do braço e do motor, respectivamente. A energia potencial é dada por
onde M é a massa total do braço e l é a distância do centro de massa do braço ao eixo de rotação. Portanto, o Lagrangiano do sistema vale
Levando L nas Equações de Lagrange, obtem-se
A força generalizada τ consiste do torque do motor (entrada) u e dos torques não conservativos de amortecimento, e Observe-se que estão sendo desprezados os torques restauradores devidos à elasticidade dos eixos, isto é, estão sendo considerandos eixos rígidos. Transferindo tudo para o eixo do motor: Portanto, a expressão completa para a dinâmica desse sistema é dada por
onde
Em geral, a aplicação das Equações de Lagrange a sistemas robóticos conduz a um sistema de equações diferenciais ordinárias não-lineares de segunda ordem, onde as variáveis dependentes são as coordenadas generalizadas e a variável independente é o tempo t. Serão, a seguir, deduzidas expressões convenientes para as energias cinética e potencial de um objeto rígido, de modo a facilitar o cálculo do Lagrangiano para posterior aplicação nas Equações de Lagrange.
76
Cap. 6 Dinâmica do Manipulador
6.3 EXPRESSÕES PARA AS ENERGIAS CINÉTICA E POTENCIAL
6.3.1 Cálculo da Energia Cinética
A energia cinética é constituída por dois termos: a energia cinética de translação, obtida concentrando-se a massa total do objeto no seu centro de massa, e a energia cinética de rotação, em torno do seu centro de massa. Seja um objeto contínuo de massa específica ρ, função da posição espacial. Logo, a massa do objeto será dada por (6.3.1) onde B denota a região do espaço ocupada pelo objeto. Então, a energia cinética do objeto é dada por
(6.3.2) onde v é o vetor velocidade da partícula dm localizada nas coordenadas (x, y, z). Por outro lado, o centro de massa do objeto é localizado pelas coordenadas (6.3.3) ou, em uma forma vetorial mais compacta: (6.3.4) onde rc é o vetor posição do centro de massa do objeto. Suponha-se, agora, que um sistema móvel de coordenadas seja fixado ao objeto, com a origem coincidindo com o centro de massa do objeto. À medida que o objeto se move no espaço, a velocidade de um ponto arbitrário do mesmo, em relação a um sistema inercial, é dada por (6.3.5) onde vc é a velocidade linear do centro de massa, r é o vetor posição do ponto arbitrário e velocidade angular do sistema de referência ligado ao objeto, tudo em relação ao sistema inercial.
ω
éa
Entretanto, para o cálculo da energia cinética, é mais conveniente usar a velocidade em termos do sistema móvel, o que é possível, já que a mudança de sistema de referência não afeta o módulo do
77
Cap. 6 Dinâmica do Manipulador
vetor velocidade. Assim, pode-se usar a eq. (6.3.5), porém tendo sempre em mente que a mesma estará sendo expressa em relação ao sistema móvel de coordenadas. A eq. (6.3.5) pode ser rescrita como (6.3.6) de acordo com a propriedade da matriz antissimétrica S(ω) estabelecida no Cap.5. Levando a eq. (6.3.6) na eq. (6.3.2): (6.3.7) Será agora expandido o produto dentro do sinal de integração, composto de quatro termos. O primeiro termo nos dá (6.3.8) onde foi levado em conta que o vetor vc não depende da variável de integração m. Essa quantidade é justamente a energia cinética de translação de uma partícula de massa m localizada no centro de massa do objeto. O segundo termo é dado por (6.3.9) porque
(6.3.10)
já que o centro de massa está localizado na origem do sistema de coordenadas. Pelo mesmo motivo o terceiro termo, dado por (6.3.11) também é nulo. Já o quarto termo demanda algum trabalho. Seja ele definido como (6.3.12) Existe uma propriedade das matrizes anti-simétricas, que pode ser facilmente comprovada, pela qual S(ω) r = - S(r) ω
(6.3.13)
Aplicando a propriedade de transposição aos dois membros da equação acima: rT ST(ω) = - ωT ST(r)
Levando as eqs. (6.3.13) e (6.3.14) na eq. (6.3.12):
(6.3.14)
78
Cap. 6 Dinâmica do Manipulador
K4
= 1 ∫ B [-ω T S T (r )][-S(r )ω]dm 2
(6.3.15) Como ω não depende de m: K4
= 1 ω T {∫ B 2
S T (r ) S(r )dm}ω
(6.3.16) Tendo em vista que o vetor r pode ser escrito sob forma de matriz anti-simétrica, conforme eq. (5.2.4), tem-se:
0 -z y S(r ) = z 0 - x - y x 0 (6.3.17) pode-se desenvolver a eq. (6.3.16), obtendo-se:
0 z - y 0 - z y 1 T K 4 = ω B - z 0 x z 0 - x ω 2 y - x 0 - y x 0
∫
(6.3.18) Finalmente, é possível rescrever a eq. (6.3.18) como (6.3.19) onde I é a matriz inércia, definida a partir da eq. (6.3.18) como
(6.3.20) O quarto termo, K4, representa a energia cinética de rotação do objeto. Assim, a energia cinética total do objeto rígido é dada por (6.3.21) Considere-se, agora, um manipulador composto por n membros. Foi visto, no capítulo 5, que as velocidades linear e angular de qualquer ponto de qualquer membro podem ser expressas simplesmente em termos do Jacobiano e das derivadas das variáveis das juntas. Como, no caso, as variáveis das juntas são as coordenadas generalizadas, segue-se que, para matrizes Jacobianas apropriadas: (6.3.22)
79
Cap. 6 Dinâmica do Manipulador
onde a matriz RiT(q) leva em conta o fato de que a velocidade angular deve ser expressa no sistema de referência fixado ao membro i. Supondo que o membro i tenha massa m i e que a sua matriz inércia Ii tenha sido calculada em relação ao sistema de coordenadas do membro i, então, da eq. (6.3.21), seguese que a energia cinética total do manipulador é dada por
(6.3.23) Em outras palavras, a energia cinética total do manipulador tem a forma (6.3.24) onde D(q), denominada matriz inércia generalizada, é uma matriz simétrica positivo definida que depende, em geral, da configuração do manipulador. 6.3.2 Cálculo da Energia Potencial
Quanto à energia potencial, ela também é obtida concentrando-se a massa total do objeto no seu centro de massa. No caso de corpos rígidos, a sua única fonte é a gravidade. Seja g o vetor aceleração da gravidade, expresso no sistema inercial. Então, a energia potencial de uma partícula infinitesimal de massa dm, localizada no ponto r do objeto é dada por gTrdm. Logo, a energia potencial total do objeto é (6.3.25) ou seja, a energia potencial do objeto é obtida concentrando a massa de todo objeto no seu centro de massa.
6.4 EQUAÇÕES DO MOVIMENTO Serão considerados, nesta seção, dois casos especiais para a aplicação das Equações de Lagrange: (1) a energia cinética é uma função quadrática do vetor velocidade generalizada, na forma (6.4.1) onde a “matriz inércia” D(q) é simétrica e positivo-definida para cada q ∈ ℜn.
80
Cap. 6 Dinâmica do Manipulador
(2) a energia potencial V = V( q) é independente da velocidade generalizada (os manipuladores robóticos satisfazem essa condição). As equações de Euler-Lagrange serão deduzidas a seguir, para tal sistema. Tendo em vista que (6.4.2) tem-se (6.4.3) e
(6.4.4) Também (6.4.5) Assim, as Equações de Lagrange podem ser escritas
(6.4.6) Trocando a ordem no somatório e considerando a simetria, pode-se mostrar que
(6.4.7) Portanto,
(6.4.8) Os termos (6.4.9) são conhecidos como símbolos de Christoffel de primeira espécie. Note-se que, para um k fixado, tem-se cijk = c jik, o que reduz à metade o trabalho envolvido no cálculo. Finalmente, definindo (6.4.10) então as Equações de Lagrange se tornam
81
Cap. 6 Dinâmica do Manipulador
(6.4.11) Na eq. (6.4.11) existem três tipos de termos: (1) termos envolvendo as segundas derivadas das coordenadas generalizadas; (2) termos quadráticos das primeiras derivadas de q, onde os coeficientes podem depender de q, os quais podem ser classificados em: .2 (2.1) termos centrífugos: envolvem produtos do tipo qi . . (2.2) termos de Coriolis: envolvem um produto do tipo onde i ≠ j qi q j (3) termos envolvendo somente q mas não as suas derivadas, os quais surgem da derivação da energia potencial. É comum escrever a eq. (6.4.11) na forma matricial (6.4.12) onde o k,j-ésimo elemento da matriz C é definido como
(6.4.13) A seguir, é apresentado o enunciado de um teorema relacionando as matrizes D e C que aparecem na eq. (6.4.12), o qual será muito útil no problema de controle de manipuladores. Teorema: Seja a matriz definida por
(6.4.14) Então N é antissimétrica, isto é, n jk = - nkj. (O leitor interessado na demonstração do teorema poderá consultar Spong & Vidyasagar, pág. 143). Seja examinado, agora, um caso especial importante, em que a matriz inércia é diagonal e independente de q. Nesse caso, segue-se da eq. (6.4.9) que todos os símbolos de Christoffel são nulos, pois cada d ij é uma constante. Além disso, a quantidade d kj não é nula se e somente se k = j, de tal modo que as eqs. (6.4.11) desacoplam na forma (6.4.15)
82
Cap. 6 Dinâmica do Manipulador
Em resumo, o desenvolvimento mostrado nesta seção é muito geral e se aplica a qualquer .
sistema mecânico em que a energia potencial seja independente de q . Na próxima seção será aplicado tal desenvolvimento a configurações robóticas específicas.
6.5 ALGUMAS CONFIGURAÇÕES COMUNS 6.5.1 Manipulador cartesiano com dois membros
Seja o manipulador cartesiano da fig. 6.3, onde estão ilustradas as massas e as coordenadas generalizadas dos membros:
Fig. 6.3 Manipulador cartesiano com dois membros Como as coordenadas generalizadas das juntas têm dimensões de comprimento, as forças generalizadas associadas, aplicadas nas juntas, têm dimensões de força e são dadas por f i, i = 1, 2. A energia cinética tem a forma da eq. (6.41), ao passo que a energia potencial é função apenas de q 1 e q 2. Portanto, pode-se usar as fórmulas da seção anterior para obter as equações dinâmicas. Por outro lado, como as juntas são prismáticas, o Jacobiano da velocidade angular é nulo e a energia cinética de cada membro consiste somente do termo translacional. A velocidade do centro de massa do membro 1 é dada por (6.5.1) onde (6.5.2) Analogamente, (6.5.3) onde (6.5.4)
83
Cap. 6 Dinâmica do Manipulador
Portanto, a energia cinética é dada por (6.5.5) Comparando com a eq. (6.4.1), vê-se que a matriz de inércia é dada simplesmente por
(6.5.6) A energia potencial do membro 1 é dada por m 1g q1, enquanto que a do membro 2 é dada por m 2g q2, logo a energia potencial total é (6.5.7) Pode-se, então, escrever as equações do movimento. Tendo em vista que a matriz de inércia é constante, os símbolos de Christoffel são nulos. Além disso, os vetores φk são dados por (6.5.8) Substituindo na eq. (6.4.11), chega-se a
(6.5.9) 6.5.2 Manipulador planar articulado (cotovelar)
Seja o manipulador da fig. 6.4, onde os ângulos das juntas q 1 e q2 servem de coordenadas generalizadas:
Fig. 6.4 Manipulador cotovelar
84
Cap. 6 Dinâmica do Manipulador
Seja II momento de inércia do membro i em torno de um eixo perpendicular ao plano xy e passando pelo centro de massa do membro i. Tendo em conta que estamos usando as variáveis das juntas como coordenadas generalizadas, pode-se usar o conteúdo da seção 6.4. Inicialmente, (6.5.10) onde
(6.5.11) Analogamente, (6.5.12) onde
(6.5.13) Portanto, a parcela translacional da energia cinética é dada por
(6.5.14) A seguir, serão tratados os termos da velocidade angular. Devido à simplicidade deste manipulador, muitas das dificuldades não aparecem. Em relação ao sistema inercial, tem-se (6.5.15) Entretanto, conforme assinalado anteriormente, é necessário exprimir essas velocidades angulares em relação ao sistemas locais. Felizmente, os eixos z estão todos paralelos nesse caso, de modo que a expressão acima é também válida em relação aos sistemas locais. Além disso, como ωi está alinhado com k, o triplo produto ωiTIiωi reduz-se simplesmente a (I 33)i multiplicado pelo quadrado do módulo da velocidade angular. A quantidade (I 33)i é, na verdade, o que foi chamado acima de I i. Portanto, a energia cinética de rotação do sistema total é
(6.5.16) Está tudo pronto para a montagem da matriz de inércia D( q). Para tanto, tem-se apenas que adicionar as duas matrizes dadas nas eqs. (6.5.14) e (6.5.16), respectivamente. Assim:
(6.5.17) Executando a multiplicação acima e usando relações trigonométricas elementares, chega-se a
85
Cap. 6 Dinâmica do Manipulador
(6.5.18) Pode-se, agora, calcular os símbolos de Christoffel usando a definição (6.4.9), obtendo
(6.5.19) A energia potencial do manipulador é dada pela soma das energias potenciais dos dois membros, logo:
(6.5.20) Portanto, as funções φk definidas em (6.4.10) tornam-se (6.5.21) (6.5.22) Finalmente, pode-se escrever as equações dinâmicas como em (6.4.11). Substituindo nessa equação as várias quantidades e omitindo os termos nulos, obtemos
(6.5.23) Nesse caso, a matriz
é dada por
(6.5.24)
86
Cap. 6 Dinâmica do Manipulador
6.5.3 Manipulador planar articulado (cotovelar) com acionamento remoto
Será, agora, ilustrada uma situação em que as coordenadas generalizadas independentes não são as variáveis das juntas, conforme definidas em capítulos anteriores. Considere-se, novamente, o manipulador cotovelar, mas supondo, agora, que ambas as juntas são acionadas por motores localizados na base, conforme mostra a fig. 6.5:
Fig 6.5 Manipulador cotovelar com acionamento remoto A primeira junta é acionada diretamente pelo atuador 1, enquanto a outra é acionada pelo atuador 2, através de uma transmissão por correia. Pode-se escolher as coordenadas generalizadas p 1 e p2, de acordo com a fig. 6.6. O ângulo p 2 é determinado pelo acionador 2, que está na base, não sendo afetado (independente, portanto) pelo ângulo p 1.
Fig. 6.6 Coordenadas generalizadas para o manipulador da fig. 6.5 Tendo em vista que p 1 e p2 não são os ângulos das juntas, não se pode usar os Jacobianos deduzidos no cap. 5, devendo-se efetuar a análise diretamente. É fácil verificar que
Cap. 6 Dinâmica do Manipulador
87
Cap. 6 Dinâmica do Manipulador
88
6.6 FORMULAÇÃO DE NEWTON-EULER A formulação de Newton-Euler leva aos mesmos resultados obtidos através da formulação de Euler-Lagrange, embora percorrendo um caminho bastante diferente. Na formulação Lagrangiana, trata-se o robô como um todo e realiza-se a análise usando a função Lagrangiana (diferença entre as energias cinética e potencial). Na formulação Newtoniana, considera-se cada membro separadamente e escreve-se as equações que descrevem os seus movimentos linear e angular. Evidentemente, como cada membro está acoplado aos demais, a equação do movimento de um membro contem forças e torques de restrição, que aparecem também nas equações do movimento dos demais membros. Utilizando um procedimento recursivo, é possível determinar todos esses termos de acoplamento e eventualmente chegar à descrição do manipulador como um todo. A análise dinâmica de um sistema mecânico consiste em achar relações entre as coordenadas generalizadas q e as forças generalizadas τ , já apresentadas anteriormente. Deve-se fazer a distinção entre os dois casos seguintes: -
no primeiro caso, há interesse em obter equações em forma fechada que descrevam a evolução temporal das coordenadas generalizadas;
-
no segundo caso, deseja-se saber quais forças generalizadas necessitam ser aplicadas, a fim de realizar uma evolução temporal particular das coordenadas generalizadas.
A distinção reside no fato de que, no segundo caso, quer-se apenas saber qual função temporal τ produz uma trajetória particular, sem preocupação com a relação entre as duas. Pode-se dizer que, no
89
Cap. 6 Dinâmica do Manipulador
primeiro caso, a formulação Lagrangiana é superior, ao passo que, no segundo caso, a formulação Newtoniana é mais adequada. Já no caso de estudos mais avançados, tais como aqueles que consideram as deformações elásticas dos membros, a formulação Lagrangiana é claramente superior. A Mecânica Newtoniana repousa sobre as seguintes Leis: 1. Terceira Lei de Newton: “ A toda ação corresponde uma reação igual e de sentido oposto ”. Assim, se o corpo 1 aplica uma força f e um torque τ sobre o corpo 2, então o corpo 2 aplica uma força -f e um torque - τ sobre o corpo 1. 2. Segunda Lei de Newton: “ A taxa de variação da quantidade de movimento linear é igual à força total aplicada ao corpo ”. 3. Lei de Euler: “ A taxa de variação da quantidade de movimento angular é igual ao torque total aplicado ao corpo ”. Nas aplicações robóticas, a massa m pode ser considerada constante, de modo que a Segunda Lei de Newton pode ser escrita como ma = f (6.6.1) onde a é a aceleração linear do centro de massa do corpo e f é a resultante das forças externas aplicadas, tudo em relação a um sistema inercial de coordenadas. Aplicando a Lei de Euler ao movimento angular de um corpo: (6.6.2a) onde I0 é o momento de inércia do corpo ω0 é a velocidade angular do corpo τ 0 é a soma dos torques aplicados externamente ao corpo tudo em relação a um sistema inercial x 0y0z0, cuja origem coincide com o centro de massa do corpo. Em muitos casos, é mais conveniente usar a Lei de Euler em relação a um sistema móvel de coordenadas xyz, fixado ao corpo, cuja origem coincide com o centro de massa do corpo: d(Iω) =τ dt onde I é o momento de inércia do corpo ω é a velocidade angular do corpo τ é a soma dos torques aplicados externamente ao corpo
(6.6.2b)
90
Cap. 6 Dinâmica do Manipulador
tudo em relação a um sistema móvel xyz, cuja origem coincide com o centro de massa do corpo. Existe uma diferença essencial entre os movimentos linear e angular: enquanto a massa de um corpo é constante na maioria das aplicações, o seu momento de inércia pode ser ou não constante. Para ilustrar isso, suponha-se que I seja a matriz de inércia do corpo em relação a um sistema local de coordenadas, fixado ao corpo. Então, I permanece constante, não importando que movimento o corpo execute. Entretanto, a matriz I0, em relação ao sistema da base, é dada por
onde R é a matriz de rotação do sistema local em relação ao sistema da base. Logo, em geral, a matriz I0 não é constante, mas varia com o tempo. Uma maneira de contornar essa dificuldade consiste em escrever a equação para o movimento angular em relação a um sistema local fixado ao corpo, o que conduz a (6.6.4) onde I é a matriz de inércia (constante) do corpo em relação ao sistema local; ω é a velocidade angular expressa no sistema local; τ é o torque total sobre o corpo, também expresso em relação ao sistema local. Será deduzida, agora, a eq. (6.6.4), mostrando de onde vem o termo termo giroscópico.
ω
x [Iω], denominado
Seja R a matriz de rotação do sistema local em relação ao sistema da base, a qual varia com o tempo. Então, a eq. (6.6.3) fornece a relação entre I e I0. Por outro lado, pós-multiplicando a eq. (5.3.1) por RT: (6.6.5) Em outras palavras, a velocidade angular do corpo, expressa em relação ao sistema da base, é dada pela eq. (6.6.5). Já em relação ao sistema local, ela é dada por (6.6.6) Portanto, a quantidade de movimento angular, expressa no sistema da base, vale (6.6.7) Derivando em relação ao tempo e levando em conta que I é constante, obtem-se uma expressão para a taxa de variação da quantidade de movimento angular: (6.6.8)
91
Cap. 6 Dinâmica do Manipulador
Agora, (6.6.9) Portanto, com relação ao sistema inercial, (6.6.10) Com relação ao sistema local, a taxa de variação da quantidade de movimento angular é
(6.6.11) o que mostra o estabelecimento da eq. (6.6.4). Embora seja possível escrever a equação acima em relação ao sistema inercial, muitos vetores tornam-se constantes em relação ao sistema do corpo, o que leva a simplificações significativas nas equações. Será, agora, usada a formulação de Newton-Euler para deduzir as equações do movimento de um manipulador de n membros. Para isso, escolhem-se n sistemas de coordenadas, sendo o sistema 0 um sistema inercial e o sistema i um sistema local rigidamente fixado ao membro i, para i ≥ 1. A origem do sistema i coincide com o centro de massa do membro i. Considerem-se vários vetores, todos expressos no sistema local i. O conjunto seguinte de vetores está relacionado às velocidades e acelerações de várias partes do manipulador: ac,i = ae,i =
aceleração do centro de massa do membro i; aceleração da extremidade do membro i (junta i + 1); = velocidade angular do sistema i com relação ao sistema 0; = aceleração angular do sistema i com relação ao sistema 0.
ωi αi
Já o conjunto abaixo diz respeito a forças e torques: gi = aceleração da gravidade expressa no sistema i; f i = força exercida pelo membro i – 1 sobre o membro i;
= torque exercido pelo membro i – 1 sobre o membro i; Ri = matriz de rotação do sistema i + 1 em relação ao sistema i. τi
i+1
O último conjunto de vetores, a seguir, define características físicas do manipulador, sendo independentes da configuração q: mi
= massa do membro i; Ii =matriz de inércia do membro i em relação ao sistema i; ri,ci = vetor com origem na junta i e extremidade no centro de massa do membro i; ri+1,ci = vetor com origem na junta i + 1 e extremidade no centro de massa do membro i; ri,i+1 = vetor com origem na junta i e extremidade na junta i+1.
92
Cap. 6 Dinâmica do Manipulador
Considere-se, agora, o diagrama de corpo livre da fig. 6.7, a qual mostra o corpo i com todas as forças e torques que atuam sobre ele:
Fig. 6.7 Forças e torques sobre o corpo i Analisando a figura acima, vê-se que f i é a força aplicada pelo corpo i-1 sobre o corpo i. Pela 3 a Lei de Newton, o corpo i+1 aplica uma força – f i+1 sobre o corpo i, devendo-se pré-multiplicar essa força pela matriz de rotação Ri+1i. obtendo-se - Ri+1i f i+1. Explanação análoga se aplica aos torques τ i e Ri+1iτ i+1. A força migi é a força gravitacional. Escrevendo a 2 a Lei de Newton para o corpo i: i+1
f i - R
i f i+1
+ migi = miac,i
(6.6.12)
A seguir, será escrita a Lei de Euler. Para isto, é importante notar que o momento exercido por uma força f em torno de um ponto P pode ser dado por f x r, onde r é o vetor cuja origem é o ponto de aplicação da força e cuja extremidade é o ponto P . Além disso, como o peso não exerce momento em relação ao centro de massa, tem-se a Lei de Euler τi
- Ri+1i τ i+1 + f i x ri,ci – (Ri+1if i+1)x ri+1,ci = Ii αi + ωi x (Ii ωi)
(6.6.13)
A essência da formulação de Newton-Euler consiste em encontrar os vetores f 1, f 2, ... , f n e τ 1, ..
.
, ... , τ n, correspondentes a um dado conjunto de vetores q, q e q. Em outras palavras, consiste em achar as forças e os torques que correspondem a um dado conjunto de coordenadas generalizadas e suas duas primeiras derivadas temporais. Essa informação pode ser usada tanto para obter equações em forma fechada que descrevem a evolução temporal das coordenadas generalizadas, como para saber quais forças generalizadas necessitam ser aplicadas, a fim de realizar uma trajetória particular. τ2
..
.
A idéia geral pode ser estabelecida assim: dados q, q e q , suponha-se que, de algum modo, seja possível determinar todas as velocidades e acelerações de várias partes do manipulador, isto é, todas as quantidades ac,i, ωi e αi. Então, pode-se resolver as eqs. (6.6.12) e (6.6.13) recursivamente para achar todas as forças e torques, da seguinte maneira: (1) fazer f n+1 = 0 e τ n+1 = 0, o que exprime o fato de que não existe o corpo n+1; (2) resolver a eq. (6.6.12) para obter f i = Ri+1i f i+1 + miac,i - migi
Substituindo, sucessivamente, i = n, n-1, ..., 1, pode-se encontrar todas as forças f i.
(6.6.14)
93
Cap. 6 Dinâmica do Manipulador
Semelhantemente, pode-se resolver a eq. (6.6.13) para obter τi
= Ri+1i τ i+1 - f i x ri,ci + (Ri+1if i+1)x ri+1,ci + Ii αi + ωi x (Ii ωi)
Substituindo, sucessivamente, i = n, n-1, ..., 1, pode-se encontrar todos os torques ..
τi
(6.6.15) .
.
A solução estará completa calculando-se as relações entre q, q e q e ac,i, ωi e αi. Isso pode ser feito através de um procedimento recursivo no sentido crescente de i, o qual será ilustrado a seguir, para o caso de juntas rotativas (o caso de juntas prismáticas é ainda mais simples). A fim de distinguir as quantidades expressas no sistema i daquelas expressas no sistema da base, será usado o símbolo (0) como sobrescrito para as últimas. Considere-se, inicialmente, as velocidade e aceleração angulares. A velocidade angular do sistema i é igual à velocidade angular do sistema i – 1 somada à velocidade angular da junta i: (6.6.16) Para obter uma relação entre ωi e ωi-1 é preciso apenas expressar a equação acima no sistema i, levando em conta que ωi e ωi-1 estão expressos em sistemas diferentes. Isso conduz a (6.6.17) onde (6.6.18) é o eixo de rotação da junta i expresso no sistema i. Considere-se, agora, a aceleração angular αi. É importante notar aqui que (6.6.19) Em outras palavras, αi é a derivada da velocidade angular do sistema i, porém expressa no sistema i, ou seja, não é verdadeira a expressão Uma situação semelhante será encontrada com a velocidade e a aceleração do centro de massa. Da eq. (6.6.16), vê-se que (6.6.20) Passando para o sistema i: (6.6.21) Considere-se, agora, as velocidade e aceleração lineares. Note-se que, em contraste com a velocidade angular, a velocidade linear não aparece nas equações dinâmicas. Contudo, há necessidade de uma expressão para a velocidade linear, para a dedução de uma expressão para a aceleração linear.
94
Cap. 6 Dinâmica do Manipulador
Aplicando a eq. (5.3.6), obtem-se a velocidade linear do centro de massa do corpo i: (6.6.22) Já a aceleração linear pode ser obtida a partir da eq. (5.3.9): (6.6.23) Tendo em conta que (6.6.24) pode-se executar a multiplicação e usar a propriedade das matrizes de rotação (6.6.25) Transformando ac,i-1 para o sistema i: (6.6.26) Para achar a aceleração da extremidade do corpo i, pode-se usar a eq. (6.6.26), substituindo ri,ci por ri,i+1. Assim: (6.6.27) Agora, a formulação recursiva está completa. Pode-se, então, estabelecer a Formulação de Newton-Euler da seguinte maneira: (1) começar com as condições iniciais nulas (6.6.28) e resolver as eqs. (6.6.17), (6.6.21), (6.6.27) e (6.6.26) (nessa ordem!) para calcular ωi, αi e ac,i, para i crescendo de 1 a n. (2) começar com as condições terminais (6.6.29) e usar as eqs. (6.6.14) e (6.6.15) para calcular f i e τ i para i decrescendo de n a 1.
95
Cap. 6 Dinâmica do Manipulador
6.7 APLICAÇÃO AO MANIPULADOR COTOVELAR Será, agora, aplicada a formulação recursiva de Newton-Euler ao manipulador cotovelar da fig. 6.4. Começa-se com a recursão avante (sentido crescente de i) para expressar as várias velocidades e acelerações em termos de q 1, q2 e suas derivadas. Neste caso simples é fácil f ácil verificar que (6.7.1) de tal modo que não há necessidade de usar as eqs. (6.6.17) e (6.6.21). Além disso, os vetores que são independentes da configuração são expressos como (6.7.2) (6.7.3) 6.7.1 Recursão Avante: Corpo 1
Usando a eq. (6.6.26) com i = 1 e notando que al,0 = 0:
(6.7.4) Observe-se como é simples esse cálculo, quando realizado com relação ao sistema 1, em comparação ao cálculo que seria feito com relação ao sistema 0! Finalmente, tem-se
(6.7.5) onde g é a aceleração da gravidade. Observe-se que as terceiras componentes das acelerações são, obviamente, nulas. Analogamente, são também nulas a terceira componente de todas as forças e as duas primeiras componentes de todos os torques. Para completar a recursão avante do corpo 1, deve-se calcular a aceleração da extremidade do corpo 1, a qual é obtida a partir da eq. (6.7.4), substituindo lc,1 por l1. Assim:
(6.7.6)
96
Cap. 6 Dinâmica do Manipulador
6.7.2 Recursão Avante: Corpo 2
Novamente, usa-se a eq. (6.6.26), substituindo
ω2
conforme eq. (6.7.1), o que dá (6.7.7)
Na eq. (6.7.7), a única quantidade que depende da configuração é o primeiro termo do membro direito, o qual pode ser calculado como
(6.7.8) Substituindo na eq. (6.7.7):
(6.7.9) O vetor gravidade é dado por:
(6.7.10) Como existem apenas dois corpos, não há necessidade de calcular al,2 e as recursões avantes estão concluídas. 6.7.3 Recursão retroativa: membro 2
Será feita, agora, a recursão retroativa para calcular as forças e os torques nas juntas. Neste exemplo, os torques nas juntas são as quantidades aplicadas externamente e o objetivo é deduzir as equações dinâmicas envolvendo tais torques. Aplica-se, inicialmente, a eq. (6.6.14) com i = 2, notando que f 3 = 0, o que resulta em (6.7.11) (6.7.12) Pode-se agora substituir, na equação acima, ω2 e α2 da eq. (6.7.1) e ac,2 da eq. (6.7.9). Observe-se, também, que o termo giroscópico é nulo, pois ω2 e I2ω2 estão alinhados com k. Também o produto vetorial f 2 x lc2i está alinhado com k e o seu módulo é a componente de f 2. O resultado final é
97
Cap. 6 Dinâmica do Manipulador
(6.7.13) Como τ 2 = τ2k, vê-se que a equação acima é a segunda equação da eq. (6.5.23). 6.7.4 Recursão retroativa: membro 1
Para completar a dedução, aplica-se as eqs. (6.6.14) e (6.6.15), para i = 1. As equações das forças e dos torques são, respectivamente, (6.7.14) e (6.7.15) São possíveis algumas simplificações. Inicialmente, pode-se fazer R12τ 2 = τ 2, pois a matriz de rotação não afeta a terceira componente de um vetor. Em segundo lugar, o termo giroscópico é ainda nulo. Finalmente, substituindo f 1 da eq. (6.7.14) na eq. (6.7.15), obtem-se, após alguma álgebra: (6.7.16) Os produtos vetoriais são obtidos diretamente, o único cálculo difícil sendo o de R12f 2. O resultado final é (6.7.17) Se, agora, for substituído eq. (6.5.23).
τ1
da eq. (6.7.13) e rearranjados os termos, obtem-se a primeira equação da