Você está na página 1de 12

Ana Laura da Silva Costa

Mestrado Integrado em Engenharia Aeroespacial


Álgebra Linear – 1º semestre de 2020/2021
Professor Paulo Pinto
Álgebra Linear aplicada ao controlo de um braço robótico

Introdução
Se volvidos uns anos os aparelhos robóticos, avançados e inteligentes eram parte do nosso
imaginário, nos dias que correm é inegável o papel preponderante que estes assumem na
sustentabilidade, otimização e competitividade do sistema de produção. O desenvolvimento e
aparecimento de tecnologias automatizadas contribuíram inexoravelmente para o que é por
muitos denominada de nova revolução industrial, a indústria 4.0. Torna-se, por isso, necessário
entender os mecanismos, conhecimentos e ideias subjacentes aos aparelhos que já ontem
entraram nos nossos dias, ainda hoje são parte integrante dos nossos bens, e quiçá, no futuro,
transformarão o paradigma de manufatura como agora o entendemos. Neste sentido, o
presente trabalho, desenvolvido no âmbito de uma prova oral de Álgebra Linear, visa clarificar
a aplicação dos conhecimentos da unidade curricular no que concerne funcionamento de um
braço robótico, muito utilizado em diversas funções industriais, principalmente na indústria
automobilística, sendo programados para substituir o Homem em tarefas repetitivas, perigosas
ou que exigem cuidados e precisão acrescida. Efetivamente, a computação da cinemática de um
braço robótico é executada em termos de referenciais, estando cada um deste associado a
diferentes juntas. O movimento é descrito com base nas rotações e translações que se verificam
de um referencial relativamente ao outro. Deste modo, num primeiro momento, serão
explicados e aprofundados os conhecimentos de transformações no plano e espaço, bem como
as propriedades e matrizes associadas. Seguidamente, serão enunciados casos-tipo no sentido
de exemplificar a forma como a cinemática direta e inversa, antes de transformada para o
mundo da programação industrial, é entendida em termos matemáticos. Abordar-se-á
igualmente, de uma forma geral e simplificada, a utilização do Jacobiano para o cálculo da
velocidade do braço em função da contribuição das várias juntas. Finalmente, serão estudadas
situações de singularidade e redundância com base nas características da matriz jacobiana.
Transformações e matrizes
Se, quando o referencial fixo e referencial do corpo coincidentes a posição da garra é facilmente
calculada mediante simples operações de adição, assim que o movimento do sistema se torna
mais complexo, também os cálculos se tornam mais trabalhosos. É, por isso, aconselhável (e
bastante mais simples) recorrer aos conhecimentos de matrizes para resolver o problema, sendo
necessário ter em consideração não só as rotações introduzidas, bem como as translações de
pontos e relações entre referenciais.
Rotação
A rotação do plano em torno da origem, que faz cada ponto descrever um ângulo , determina
uma transformação linear cuja matriz elementar é:
cos() 𝑠𝑖𝑛()
 𝑅 () = no plano (2D)
−𝑠𝑖𝑛() cos()
1 0 0
 𝑅 () = 0 cos () −sin ()
0 sin () cos ()
cos () 0 𝑠𝑖𝑛()
 𝑅 () = 0 1 0 no espaço (3D)
−𝑠𝑖𝑛() 0 cos ()
cos() − sin() 0
 𝑅 () = sin() cos() 0
0 0 1
Prova matriz rotação: A seguinte prova refere-se unicamente à matriz referente à rotação de eixo zz. As
demais provas desenvolvem-se de forma análoga.
Definindo a rotação ao longo do eixo zz, facilmente notamos que a coordenada z não será alterada. Deste
modo, rapidamente se retira que a matriz que procuramos é da forma
? ? 0
? ? 0
0 0 1

Agora, o cálculo dos quatro elementos que faltam pode ser resumido a
um problema a duas dimensões no plano xy. Considere-se um ponto 1
no plano xy de coordenadas x1 e y1 (ver figura), que define um vetor
r1 de comprimento l entre si e a origem. Supondo agora que o referido
vetor sofre uma rotação de ângulo 𝜙, de forma a que o novo vetor
transformado r2 é definido entre um novo ponto 2 de coordenadas x2
e y2 e a origem.
α
Começa-se por definir as coordenadas de r1 em função do ângulo 𝛼
que forma com o eixo xx Figura 1: Gráfico ilustrativo da rotação
de um vetor no plano
𝑥 = 𝑙. cos (𝛼) e 𝑦 = 𝑙. sin (𝛼)
Analogamente, expressa-se as coordenas de r2 em função do ângulo 𝛼 + 𝜙 que forma com o eixo xx
𝑥 = 𝑙. cos (𝛼 + 𝜙)= 𝑙. cos(𝛼) cos(𝜙) − 𝑠𝑖𝑛(𝛼)𝑠𝑖𝑛(𝜙) = 𝑥 cos(𝜙) − 𝑦 𝑠𝑖𝑛(𝜙)
𝑦 = 𝑙. sin (𝛼 + 𝜙) = 𝑙. (sin (𝛼) cos(𝜙) + 𝑐𝑜𝑠(𝛼)𝑠𝑖𝑛(𝜙)) = 𝑦 cos(𝜙) + 𝑥 𝑠𝑖𝑛(𝜙)
na forma matricial,
cos (𝜙) −sin (𝜙) 𝑥1 𝑥2
. = (1.1)
sin (𝜙) cos (𝜙) 𝑦1 𝑦2
Como pode ser observado, o resultado obtido é anti-horário. Tomando ϕ = - 𝜃 , vem que a matriz que
define a rotação no sentido horário é dada por
cos (𝜃) sin (𝜃)
(1.2)
−sin (𝜃) cos (𝜃)
Finalmente, a matriz corresponde à transformação no de 𝜃 graus no sentido horário segundo o eixo zz é
definida por
cos (𝜃) sin (𝜃) 0
−sin (𝜃) cos (𝜃) 0 (1.3)
0 0 1
---Fim da prova---

Sabemos também que, dada a rotação do sistema 0 para o sistema 1, a posição de um


determinado ponto p relativamente ao referencial 0 é dado por
𝑝 = 𝑅 . 𝑝 (1.4)
A rotação inversa do sistema 1 para o sistema 0 é obtida por
𝑝 = 𝑅 . 𝑝 = ( 𝑅) . 𝑝 = ( 𝑅 ) . 𝑝 (pois R é ortogonal) (1.5)
Prova ortogonalidade: Consideremos dois referencias: O’
– x’y’z’ (referencial transformado B) e O -xyz (referencial
fixo A). Os vetores unitários do referencial transformado B
x’, y’ e z’ podem ser escritos em função dos vetores
unitários do referencial fixo A,
x’ = a1.x + a2.y + a3.z
y’ = b1.x + b2.y + b3.z
Figura 2: Gráfico representativo da rotação e translação
z’ = c1.x + c2.y + c3.z de um referencial

na forma matricial,

𝑎1 𝑏1 𝑐1 𝑥 .𝑥 𝑦 .𝑥 𝑧 .𝑥
𝑅 = [𝑥′ 𝑦′ 𝑧′] = 𝑎2 𝑏2 𝑐2 = 𝑥 . 𝑦 𝑦 .𝑦 𝑧 .𝑦 (1.6)
𝑎3 𝑏3 𝑐3 𝑥 .𝑧 𝑦 .𝑧 𝑧 .𝑧
Onde cada um dos termos da matriz foi expresso em termos de produto escalar, isto é, em função do
cosseno do ângulo entre os dois vetores unitários. O valor do produto escalar mantém-se contante
independentemente do referencial no qual os vetores são expressos, pelo que
𝑥 .𝑥 = 𝑥 .𝑥
𝑦 .𝑦 = 𝑦 .𝑦

𝑧 .𝑧 = 𝑧 .𝑧
aplicando a todos os termos da matriz rotação, vem que

𝑥 .𝑥 𝑦 .𝑥 𝑧 .𝑥 𝑥 .𝑥 𝑦 .𝑥 𝑧 .𝑥
𝑅 = 𝑥 .𝑦 𝑦 .𝑦 𝑧 .𝑦 = 𝑥 .𝑦 𝑦 .𝑦 𝑧 .𝑦 (1.7)
𝑥 .𝑧 𝑦 .𝑧 𝑧 .𝑧 𝑥 .𝑧 𝑦 .𝑧 𝑧 .𝑧
Podemos agora observar que as linhas de R correspondem aos vetores unitários do referencial fixo A
expressos no referencial transformado B, pelo que podemos escrever a matriz na forma
𝑥
𝑅 = [𝑥′ 𝑦′ 𝑧′] = 𝑦 (1.8)
𝑧
A transposta de R, pela igualdade (1.8) é
( 𝑅) = [𝑥 𝑦 𝑧 ] (1.9)
Ou seja, as colunas da transposta de R correspondem aos vetores unitários do referencial fixo A expressos
no referencial transformado B, o que é precisamente a definição da inversa de R. Assim, conclui-se que
𝑅 = ( 𝑅) = ( 𝑅) (1.10)

---Fim da prova---

Se, em vez de uma rotação simples em torno de um dos eixos, o referencial sofrer uma sequência
finita de rotações em torno desses mesmos eixos, então essa sequência pode ser representada
através do produto de várias matrizes de rotação básicas
𝑅 = 𝑅. 𝑅 … 𝑅 (1.11)
Prova composição de rotações é rotação: Vamos agora provar que é possível descrever uma sequência de
rotação através da composição de rotações
Basta, assim, mostrar que sendo A e B matrizes rotação (ortogonais e com determinante 1), AB é também
matriz rotação (4). Todavia, para isso é necessário primeiramente demonstrar que o teorema que postula
que qualquer matriz real n x n representa uma rotação (3.1) sse é ortogonal e o determinante tem módulo
1 (3.2) – (3).
Comecemos então pela prova de (3), ou seja, vamos demonstrar que (3.1)  (3. 2) e (3.2)  (3.1)
(3.1)(3.2): Se a matriz representa uma rotação, então é ortogonal (segue de (1) e (2), como demonstrado
anteriormente). Daqui facilmente se retira que o determinante é igual a 1
det(R𝑅 ) = det(𝑅) det(𝑅 ) = det(𝑅) = 1 , logo det(R) = ±1
Acresce-se ainda o facto de sendo uma rotação (própria, logo sem mudança de orientação) pode ser obtida
como uma sucessão de rotações infinitesimais, ou seja, em termos matemáticos a rotação é contínua com
a unidade, pelo que det(R) =1
(3.2)(3.1): Se é ortogonal e tem determinante 1, vamos mostrar que preserva os comprimentos e os
ângulos, ou seja, é uma matriz rotação
|𝑅𝑋| = (𝑅𝑋) 𝑅𝑋 = 𝑋 𝑅 𝑅𝑋 = 𝑋 𝐼𝑋 = 𝑋 𝑋 = |𝑋| , logo R preserva os comprimentos
Por outro lado, sabendo que < 𝑢, 𝑣 >= cos(𝜃) . ||𝑢|| . ||𝑣|| , sendo 𝜃 o ângulo formado entre dois
vetores u e v ∈ ℝ , vem que os ângulos são preservados sse o produto interno é preservado, ou seja,
se ∀𝑢, 𝑣 ∈ ℝ 𝑒 𝑅 ∈ 𝑀 (𝑛 𝑥 𝑛) < 𝑅𝑢, 𝑅𝑣 > = < 𝑢, 𝑣 > .
Sabe-se que
|𝑢 + 𝑣| = (𝑢 + 𝑣) (𝑢 + 𝑣) = 𝑢 𝑢 + 2𝑢 𝑣 + 𝑣 𝑣 = |𝑢| + 2𝑢 𝑣 + |𝑣|
de forma similar,
|𝑅(𝑢 + 𝑣)| = |𝑅𝑢 + 𝑅𝑣| = (𝑅𝑢 + 𝑅𝑣) (𝑅𝑢 + 𝑅𝑣) = |𝑅𝑢| + 2(𝑅𝑢) 𝑅𝑣 + |𝑅𝑣|
Como provado anterior R preserva os comprimentos, ou seja |𝐴𝑢| = |𝑢| 𝑒 |𝐴𝑣| = |𝑣| 𝑒 |𝐴(𝑢 + 𝑣)| = |𝑢 +
𝑣|. Assim, pelas igualdades anteriores, segue que (𝑅𝑢) 𝑅𝑣 = 𝑢 𝑣, isto é, < 𝑅𝑢, 𝑅𝑣 > = < 𝑢, 𝑣 > c.q.m
Passemos à prova de (4): a multiplicação de matrizes rotação, é uma matriz rotação. Para isso, chega a
mostrar que sendo A e B matrizes rotação (ortogonais e determinante 1), vem que AB é também matriz
rotação (ortogonal e determinante 1)
(AB)(𝐴𝐵) = 𝐴𝐵𝐵 𝐴 = 𝐴(𝐵𝐵 )𝐴 = 𝐴𝐴 = 𝐼 , logo AB é ortogonal
det(AB) = 𝑑𝑒𝑡(𝐴) 𝑑𝑒𝑡 (𝐵) = 1

---Fim da prova---

Translação
Definida a rotação, é necessário ter em conta que as juntas do braço não estão na mesma
posição (topo a topo).
A translação de um ponto uma dada distância, segundo uma certa direção, em relação à posição
original, é definida por:
𝑥 𝑥 𝑑
𝑦 + 𝐷= 𝑦 + 𝑑 (no plano 2D)

𝑥 𝑥 𝑑
𝑦 + 𝐷= 𝑦 + 𝑑 (no espaço 3D)
𝑧 𝑧 𝑑
Múltiplas transformações – Matriz homogénea
Em grande parte das aplicações práticas, as rotações e translações enumeradas anteriormente
ocorrem em conjunto, pelo que se torna essencial definir uma transformação homogénea. A
matriz de transformação homogénea representa a posição e orientação relativa entre os
referenciais associados a dois elos consecutivos de um robô.
Define-se a matriz homogénea 𝑇 de dimensão 4x4, tal que

𝑇= 𝑅 𝐷 (1.12)
0 1
sendo, 𝐷 a matriz translação e 𝑅 a matriz rotação. A linha inferior não fornece qualquer
informação, visto que não se consideram nem fatores de perspetiva ou escala.
Simultaneamente, define-se o vetor homogéneo do ponto a analisar, da forma
𝑝
𝑃=
1
sendo p as coordenadas do ponto no referencial 1, p=(x, y, z) e 1 o fator peso.
Quando se consideram todos os graus de liberdade do robô, define-se a matriz
𝑇 = 𝑇. 𝑇 … 𝑇 (1.13)
A transformação inversa (útil para calcular a posição de qualquer ponto relativa ao referencial
da garra) pode ser obtida a partir de:

𝑇 = ( 𝑇) = ( 𝑅) ( 𝑅) . 𝐷 (1.14)
0 1

Prova inversa de transformação homogénea: Deve ser claro que a partir da definição de matriz
transformação homogénea, a sua inversa pode ser obtida trocando a ordem da transformação, de tal
modo que

( 𝑇) = 𝑇= 𝑅 𝐷 (1.15)
0 1
Logo, a matriz estará definida assim que determinarmos a matriz 𝑅 e as coordenadas do vetor
translação, ou seja, a localização da origem do referencial A relativamente ao referencial B ( 𝑃 )
Sabendo que 𝑅 é ortogonal, temos que 𝑅 = ( 𝑅) = ( 𝑅)
Quanto às coordenadas do vetor translação, primeiramente, tem-se que
𝑃= 𝑅 𝑃+ 𝑃 (1.16)
Agora que 𝑃 = [𝑂 𝑂 𝑂] , coordenadas da origem de B relativamente ao referencial B, substituindo
este resultado na igualdade anterior
𝑃 = − 𝑅 𝑃 = −( 𝑅) 𝑃 (1.17)

---Fim da prova---
Cinemática direta – Exemplo 3D
A cinemática direta descreve a função que permite obter as coordenadas da garra com base nas
coordenadas generalizadas das juntas q, tal que:
𝑥 = 𝑓(𝑞)
onde,
𝑝
 𝑥 = ϕ , vetor que permite descrever a posição da garra 𝑝 e a sua orientação ϕ
𝑞
 𝑞 = … , vetor das variáveis das juntas, sendo 𝑞 = 𝜃 para uma junta rotativa e 𝑞 = 𝑑 para
𝑞
uma junta prismática

Tomemos um exemplo simples, no que diz respeito a transformações


3D. Consideremos um braço robótico cuja base roda em torno do eixo
zz, e a distância do referencial fixo 0 ao referencial 1 é de uma unidade
ao longo do eixo zz.
A matriz rotação do referencial fixo 0 para o referencial 1 é dada por
cos(𝑞 ) − sin(𝑞 ) 0
𝑅 = sin(𝑞 ) cos(𝑞 ) 0
0 0 1
Figura 3: Imagem representativa
de um manipulador e respetivas Já o vetor posição correspondente à translação é definida por 𝐷=
dimensões e referenciais [0 0 1]
associados
Obtém-se, assim, a matriz transformação homogénea do referencial fixo 0 para o referencial 1
cos(𝑞 ) − sin(𝑞 ) 0 0
) cos(𝑞 ) 0 0
𝑇 = sin(𝑞
0 0 1 1
0 0 0 1
Quanto à transformação do referencial 1 para o referencial 2, não se verifica rotação (é uma
junta prismática), ocorrendo uma translação de 5+𝑞 ao longo do eixo yy do referencial 1. Deste
modo, a matriz transformação é dada por
1 0 0 0
0 1 0 0,5 + 𝑞
𝑇=
0 0 1 1
0 0 0 1

A transformação final, ou seja, da origem do referencial 2 para o referencial da garra (end


effector - ee) é similar à transformação anterior (sem rotação, pois a junta é também
prismática), sendo dada por
1 0 0 0
0 1 0 0
𝑇=
0 0 1 −0,2 − 𝑞
0 0 0 1

A transformação total (do referencial fixo 0 para o referencial da garra) obtém-se através da
combinação das transformações anteriormente enunciadas, sendo a sua matriz definida por
cos(𝑞 ) − sin(𝑞 ) 0 − sin(𝑞 )( 0,5 + 𝑞 )
) cos(𝑞 ) 0 cos(𝑞 ) (0,5 + 𝑞 )
𝑇 = 𝑇 𝑇 𝑇 = sin(𝑞
0 0 1 1,8 − 𝑞
0 0 0 1
Assim, é possível calcular a posição de qualquer ponto da garra relativamente ao referencial fixo
0, multiplicando a matriz final obtida pelo vetor homogéneo do ponto em questão. Por exemplo,
tomando p= [0 0 0 1] , 𝑞 = π/3, 𝑞 = 0.3 e 𝑞 = 0.4, vem que:
cos(𝑞 ) − sin(𝑞 ) 0 − sin(𝑞 )( 0,5 + 𝑞 ) 0 −0,693
) cos(𝑞 ) 0 cos(𝑞 ) (0,5 + 𝑞 ) 0 0,4
𝑇 𝑝 = sin(𝑞 =
0 0 1 1,8 − 𝑞 0 1,4
0 0 0 1 1 1

Cinemática Inversa – Exemplo 3D


O problema da cinemática de posição inversa, ou seja, a determinação do vetor de coordenadas
do espaço das juntas que corresponde a um dado vetor de coordenadas operacionais envolve
cálculos bem mais complexos e imprevisíveis relativamente à cinemática direta:
 Podem existir soluções múltiplas, ou mesmo, infinitas
 Pode não existir solução (a posição generalizada está fora do espaço de trabalho)
 Equação não lineares, pelo que nem sempre é possível uma resolução analítica
Em geral, podemos abordar o problema através de métodos analíticos ou numéricos iterativos.
Neste trabalho, serão focados os métodos analíticos. Os métodos analíticos permitem a
obtenção de todas as soluções, para um dado vetor de coordenadas no espaço operacional.
Porém não são gerais, podendo ser aplicados somente a manipuladores simples, com muitos
parâmetros nulos (que é o caso da maioria dos manipuladores industriais).

As matrizes das transformações homogéneas para o seguinte exemplo são

cos (𝜃 ) 0 −𝑠𝑖𝑛(𝜃 ) 0
) 𝑐𝑜𝑠(𝜃 )
𝑇 = 𝑠𝑖𝑛(𝜃 0 0
0 −1 0 0
0 0 0 1
cos (𝜃 ) 0 𝑠𝑖𝑛(𝜃 ) 0
) 0 −𝑐𝑜𝑠(𝜃 )
𝑇 = 𝑠𝑖𝑛(𝜃 0
0 1 0 𝑑
0 0 0 1
1 0 0 0
0 1 0 0
𝑇=
0 0 1 𝑑
0 0 0 1 Figura 4: Imagem representativa de um
manipulador e respetivos referenciais
associados

cos(𝜃 ) 𝑐𝑜𝑠(𝜃 ) −𝑠𝑖𝑛(𝜃 ) cos(𝜃 ) 𝑠𝑒𝑛(𝜃 ) 𝑑 cos(𝜃 ) 𝑠𝑒𝑛(𝜃 ) − 𝑠𝑒𝑛(𝜃 )𝑑


𝑠𝑖𝑛(𝜃 )𝑐𝑜𝑠(𝜃 ) 𝑐𝑜𝑠(𝜃 ) 𝑠𝑖𝑛(𝜃 )𝑠𝑒𝑛(𝜃 ) 𝑑 sen(𝜃 ) 𝑠𝑒𝑛(𝜃 ) + 𝑐𝑜𝑠(𝜃 )𝑑
𝑇=
−𝑠𝑖𝑛(𝜃 ) 0 𝑐𝑜𝑠(𝜃 ) 𝑐𝑜𝑠(𝜃 )𝑑
0 0 0 1

NOTA: Considera-se que a origem do referencial 0 é o ponto que resulta da interseção de 𝑧 e 𝑧

Começamos por tomar um ponto W tal que a sua posição corresponde à posição da garra. Neste
caso, coincidindo com a origem do referencial 3, as suas coordenadas podem ser lidas
diretamente através dos três primeiros elementos da quarta coluna de 𝑇. Assim, vem que
𝑥 𝑑 cos(𝜃 ) 𝑠𝑒𝑛(𝜃 ) − 𝑠𝑒𝑛(𝜃 )𝑑
𝑦 𝑑 sen(𝜃 ) 𝑠𝑒𝑛(𝜃 ) + 𝑐𝑜𝑠(𝜃 )𝑑
=
𝑧 cos(𝜃 ) 𝑑
1 1
Para separar as variáveis das quais as coordenadas de W dependem, é conveniente expressá-las
em função do referencial 1. Assim, é multiplicada à esquerda em ambos os membros da
igualdade a matriz ( 𝑇) , obtendo-se
𝑥 𝑑 cos(𝜃 ) 𝑠𝑒𝑛(𝜃 ) − 𝑠𝑒𝑛(𝜃 )𝑑
𝑦 𝑑 sen(𝜃 ) 𝑠𝑒𝑛(𝜃 ) + 𝑐𝑜𝑠(𝜃 )𝑑
( 𝑇) = ( 𝑇)
𝑧 cos(𝜃 ) 𝑑
1 1
cos (𝜃 ) 𝑠𝑖𝑛(𝜃 ) 0 0 𝑥 cos (𝜃 ) 𝑠𝑖𝑛(𝜃 ) 0 0 𝑑 cos(𝜃 ) 𝑠𝑒𝑛(𝜃 ) − 𝑠𝑒𝑛(𝜃 )𝑑
0 0 −1 0 𝑦 0 0 −1 0 𝑑 sen(𝜃 ) 𝑠𝑒𝑛(𝜃 ) + 𝑐𝑜𝑠(𝜃 )𝑑
⇔ =
−𝑠𝑖𝑛(𝜃 ) cos (𝜃 ) 0 0 𝑧 −𝑠𝑖𝑛(𝜃 ) cos (𝜃 ) 0 0 cos(𝜃 ) 𝑑
0 0 0 1 1 0 0 0 1 1
𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 ) 𝑑 𝑠𝑒𝑛(𝜃 )
−𝑧 −𝑐𝑜𝑠(𝜃 )𝑑
⇔ = (*)
−𝑥𝑠𝑒𝑛(𝜃 ) + 𝑦𝑐𝑜𝑠(𝜃 ) 𝑑
1 1

Fazendo 𝑡 = tan ( ), tem-se (através da aplicação de relações trigonométricas):

cos(𝜃 ) = e 𝑠𝑒𝑛(𝜃 ) =

Substituindo na terceira equação de (*) vem


(𝑑 + 𝑦)𝑡 + 2𝑥𝑡 + 𝑑 − 𝑦 = 0

onde a solução é

−𝑥 ± 𝑥 + 𝑦 − 𝑑
𝑡=
𝑑 +𝑦

Retomando a variável original 𝜃

𝜃 −𝑥 ± 𝑥 + 𝑦 − 𝑑
tan ( ) =
2 𝑑 +𝑦

−𝑥 ± 𝑥 + 𝑦 − 𝑑
⇔ 𝜃 = 2 arctan
𝑑 +𝑦

Calculado 𝜃 , facilmente se obtém 𝑑 elevando ao quadrado e somando os dois primeiros


componentes da igualdade (*)
𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 ) + 𝑧 = 𝑑 𝑠𝑒𝑛(𝜃 ) + (𝑐𝑜𝑠(𝜃 )𝑑 )

⇔ 𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 ) +𝑧 = 𝑑

⇔𝑑 = (𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 )) + 𝑧 (para 𝑑 ≥ 0)

Para 𝑑 ≠ 0, uma vez mais utilizando os dois primeiros componentes de (*) tem-se
𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 ) 𝑑 sin(𝜃 )
=
−𝑧 −𝑑 cos(𝜃 )
⇔ 𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑒𝑛(𝜃 ) = tan(𝜃 ) . 𝑧
𝑥𝑐𝑜𝑠(𝜃 ) + 𝑦𝑠𝑖𝑛(𝜃 )
⇔ 𝜃 = arctan
𝑧
Jacobiano cinemático
De acordo com o referido em secções anteriores, sabemos que para um manipulador com n
graus de liberdade, a cinemática de posição direta pode ser representada e determinada através
da matriz de transformação homogénea
𝑅 𝐷 (3.1)
0 1
A matriz jacobiana, J, representa a forma como a posição da garra é afetada pelas deslocações
individuais das juntas, sendo usada em robótica para vários propósitos. Nesta secção
abordaremos, de um modo geral e simplificado, a utilização da matriz jacobiana para a
determinação da relação entre as velocidades linear e angular do órgão terminal, v e 𝜔, em
relação ao referencial fixo da base, e as velocidades das juntas, q’.
𝑣 𝐽
= . 𝑞̇ = J(q).q’ (3.2)
𝜔 𝐽

Sendo 𝐽 e 𝐽 matrizes 3xn que representam, respetivamente, as contribuições das velocidades


das juntas para a velocidade linear do órgão e velocidade angular do órgão terminal. Assim,
𝑣 = 𝐽 𝑞̇ + 𝐽 𝑞̇ + ⋯ + 𝐽 𝑞 ̇
𝜔 = 𝐽 𝑞̇ + 𝐽 𝑞̇ + ⋯ + 𝐽 𝑞 ̇

Determinação do Jacobiano (geométrico)


Consideremos que o jacobiano é representado por
𝐽 … 𝐽
𝐽= (3.3)
𝐽 … 𝐽

Onde 𝐽 e 𝐽 são vetores de dimensão 3x1.


Visando obter a matriz jacobiana (geométrica), adota-se um método baseada na estrutura e
classificação do manipulador e das respetivas juntas (a respetiva demonstração sai do domínio da
disciplina de álgebra linear, pelo que no presente trabalho é apresentado e trabalho unicamente as formulas finais).

Findada a dedução, a coluna de ordem i do jacobiano é dada pela equação seguinte

𝑧 . (𝑝 − 𝑝 )
, 𝑠𝑒 𝑎 𝑗𝑢𝑛𝑡𝑎 𝑖 é 𝑟𝑜𝑡𝑎𝑡𝑖𝑣𝑎
𝐽 (𝑞) = 𝑧 (3.26)
𝑧
, 𝑠𝑒 𝑎 𝑗𝑢𝑛𝑡𝑎 𝑖 é 𝑝𝑟𝑖𝑠𝑚á𝑡𝑖𝑐𝑎
𝑜

sendo,
 𝑝 corresponde ao vetor posição garra relativamente ao referencial de origem,
podendo ser retirado dos três primeiros elementos da quarta coluna da matriz 𝑇
 𝑝 está associado ao vetor posição da junta i-1 relativamente ao referencial fixo e
cujas coordenadas podem ser obtidas através dos três elementos da quarta coluna de
𝑇
 𝑧 é o vetor unitário definido segundo o eixo da junta i e expresso no referencial da
base e pode ser também calculado a partir dos três elementos da terceira coluna de 𝑇
Denote-se que a matriz Jacobiana depende do referencial relativamente ao qual a velocidade
da garra é expressa. Efetivamente, as equações acima permitem a computação em relação ao
referencial fixo da base; contudo, para representar a matriz relativamente a um outro
referencial u, basta obter a matriz rotação 𝑅, sendo que a relação das velocidades é dada por
𝑅 0
𝐽 = . 𝐽 (3.27)
0 𝑅

Singularidades
Como abordamos anteriormente, a matriz jacobiana, no que concerne à cinemática diferencial,
𝑣
pode ser definida com uma função que permite obter o vetor (rx1) 𝑣 = correspondente à
𝜔
velocidade da garra e o vetor (nx1) 𝑞̇ associada à velocidade das juntas, podendo ser também
encarada como uma função da configuração das juntas. As configurações para as quais |J|=0
são chamadas de singularidades cinemáticas. Assim, quando J se torna não invertível para
determinadas configurações, a equação (3.2) torna-se indefinida e o manipulador fica
bloqueado em certas direções (determinados componentes da velocidade sem correspondência
no espaço das juntas), isto é, atinge uma singularidade. As existências das mesmas podem afetar
profundamente a eficácia e controlo do manipulador, pois representam configurações em que
a mobilidade da estrutura é reduzida. Na proximidade de singularidades, quando o
determinante da matriz é próximo de 0, a pequenas velocidades no espaço operacional
(cartesiano) correspondem grandes velocidades no espaço das juntas (efeito similar à divisão
por 0).
Sabendo que o estudo do determinante apenas se destina a matrizes quadradas, ou seja,
quando r=n, o manipulador consegue aceder a todas as posições em SE(3). Quando r>n, isto é,
quando o braço robótico tem o seu movimento limitado pois o número de juntas é inferior ao
número de componentes de velocidade possíveis no espaço 3D, a matriz jacobina não é
quadrada. Nestas situações, procede-se à eliminação das linhas do vetor velocidade e da matriz
jacobiana associadas às componentes das velocidades sobre as quais o manipulador não
consegue atuar, de forma a obter uma matriz quadrada.
Para ilustrar o comportamento imprevisível de um manipulador em singularidade,
consideremos o seguinte exemplo.
Tratando-se de um braço de duas ligações, basta considerar
a velocidade linear no que diz respeito ao eixo xx e yy,
obtendo assim uma matriz quadrada da forma (cálculos em anexo)
−𝑎 𝑠𝑒𝑛(𝜗 ) − 𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 ) −𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 )
𝐽=
𝑎 𝑐𝑜𝑠(𝜗 ) − 𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 ) 𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 )

Figura 5: Representação esquemática de um Correspondente a uma matriz quadrada 2x2, calcula-se o


manipulador em singularidade
seu determinante
|𝐽| = −𝑎 𝑠𝑒𝑛(𝜗 ) − 𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 ) 𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 ) + (𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 )) 𝑎 𝑐𝑜𝑠(𝜗 ) − 𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 )

= −𝑎 𝑎 𝑠𝑒𝑛(𝜗 )𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 ) − 𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 )𝑐𝑜𝑠(𝜗 + 𝜗 ) + 𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 )𝑐𝑜𝑠(𝜗 + 𝜗 ) − 𝑎 𝑎 𝑠𝑒𝑛(𝜗 + 𝜗 )cos (𝜗 )

= − 𝑎 𝑎 𝑠𝑒𝑛(𝜗 )𝑎 𝑐𝑜𝑠(𝜗 + 𝜗 ) + 𝑠𝑒𝑛(𝜗 + 𝜗 )𝑐𝑜𝑠(𝜗 ) = 𝑎 𝑎 𝑠𝑒𝑛(𝜗 )

Assim, para 𝑎 ≠ 0 𝑒 𝑎 ≠ 0, facilmente se conclui que |J|=0 quando 𝜗 = 0 ou 𝜗 = 𝜋, sendo


irrelevante a contribuição de 𝜗 para o estudo da singularidade. De facto, esta ocorre quando a
ponta do braço está localizada na região fronteiriça do espaço de trabalho do manipulador
(totalmente retraída ou estendido), sendo incapaz de ser mover radialmente.
Pode ser também observado que os dois vetores colunas da matriz jacobiana, para tais
situações, são dados por [−(𝑎 +𝑎 )𝑠𝑒𝑛(𝜗 ) (𝑎 +𝑎 )𝑐𝑜𝑠(𝜗 )] e
[−𝑎 𝑒𝑛(𝜗 ) 𝑎 𝑐𝑜𝑠(𝜗 )] , ou seja, a car(J)=1.
Deste modo, segue que dim 𝐶(𝐽) = 1 e dim 𝑁(𝐽) = 1 ≠ 0
Tal resultado transposto para a realidade prática significa que a velocidade dos vários
componentes não é independente, ou seja, sendo o núcleo da matriz jacobiana não nulo,
existem determinadas velocidades das juntas para as quais a velocidade produzida na garra, no
espaço operacional, é nula
Redundância
Se a presença de singularidades constitui um fator limitante na arquitetónica robótica, de forma
a minimizar todas os problemas inerentes, a redundância cinemática não apresenta
consequência claras e pode ser, aliás, utilizada como forma de superar as limitações impostas
pelas singularidades. A redundância cinemática ocorre quando a garra apresenta menor graus
de liberdade (DOFs) do que o mecanismo como um todo, ou seja, em situações em que r<n
(existem n-r DOFs redundantes).
Sabendo que
dim 𝐶(𝐽) + dim 𝑁(𝐽) = 𝑛
vem que, se 𝑐𝑎𝑟(𝐽) =
dim 𝐶(𝐽) = 𝑟 e dim 𝑁(𝐽) = 𝑛 − 𝑟
ou seja, 𝐶(𝐽) ~ ℝ (espaço operacional)

Anexo

Obtenção da matriz jacobiana para o manipulador da figura 5


(singularidades):
As matrizes transformações são dadas por
cos(𝜃 ) −𝑠𝑖𝑛(𝜃 ) 0 𝑎 cos(𝜃 )
) 𝑐𝑜𝑠(𝜃 ) 0 𝑎 sen(𝜃 )
𝑇 = 𝑠𝑖𝑛(𝜃
0 0 1 0
0 0 0 1
cos(𝜃 + 𝜃 ) −𝑠𝑖𝑛(𝜃 + 𝜃 ) 0 𝑎 cos(𝜃 ) + 𝑐𝑜𝑠(𝜃 + 𝜃 )𝑎 Figura 5: Representação esquemática de um
) 𝑐𝑜𝑠(𝜃 + 𝜃 ) 0 𝑎 𝑠𝑒𝑛(𝜃 ) + 𝑠𝑒𝑛(𝜃 + 𝜃 )𝑎
𝑇 = 𝑠𝑖𝑛(𝜃 + 𝜃 manipulador em singularidade
0 0 1 0
0 0 0 1
Através da fórmula obtida para a matriz jacobiana (3.26), temos

𝑧 . (𝑝 − 𝑝 ) 𝑧 . (𝑝 −𝑝 )
𝐽= =
𝑧 𝑧
0 𝑎1 cos(𝜃1 ) + 𝑐𝑜𝑠(𝜃1 + 𝜃2 )𝑎2 0 𝑐𝑜𝑠(𝜃1 + 𝜃2 )𝑎2
⎡ ⎤
0 . 𝑎1 𝑠𝑒𝑛(𝜃1 ) + 𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2 0 . 𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2
⎢ ⎥
= ⎢1 0 1 0 ⎥
⎢ 0 0 ⎥
⎢ 0 0 ⎥
⎣ 1 1 ⎦

−𝑎 𝑠𝑒𝑛(𝜃1 ) − 𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2 −𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2


⎡ 1 ⎤
( ) ( ) 𝑐𝑜𝑠(𝜃1 + 𝜃2 )𝑎2
⎢ 𝑎1 cos 𝜃1 + 𝑐𝑜𝑠 𝜃1 + 𝜃2 𝑎2 ⎥
=⎢ 0 0 ⎥
⎢ 0 0 ⎥
⎢ 0 0 ⎥
⎣ 1 1 ⎦

Como as juntas não contribuem para as velocidades angulares e lineares no eixo zz, bem como
para a velocidade angular no eixo xx e yy – o manipulador é incapaz de produzir movimento
nessas direções – podemos simplificar e obter uma matriz quadrada

−𝑎1 𝑠𝑒𝑛(𝜃1 ) − 𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2 −𝑠𝑒𝑛(𝜃1 + 𝜃2 )𝑎2


=
𝑎1 cos(𝜃1 ) + 𝑐𝑜𝑠(𝜃1 + 𝜃2 )𝑎2 𝑐𝑜𝑠(𝜃1 + 𝜃2 )𝑎2

Bibliografia/ Webgrafia
Columbian University, Class Notes: Kinematics Singularities and Jacobians. Disponível em
www.cs.columbia.edu. Data de consulta a 05/02/2021

CRANE, Crane; DUFFY, Joseph, Kinematics Analysis of Robot Manipulators. 1 ed. Inglaterra:
Cambridge Univesity Press, 2008. ISBN-13: 978-0521047937
LOPES, António, Modelação cinemática e dinâmica de manipuladores de estrutura em série.
Documento no âmbito do mestrado em automação, instrumentação e controlo na Faculdade de
Engenharia da Universidade do Porto, Porto. 101 pp

Mecademic, What are singularities in a Six-Axis Robot Arm? Disponível em


www.mecademic.com. Data de consulta a 05/02/2021

SICILIANO, Bruno [et al.], Robotics: Modelling, Planning and Control. 9 ed. Itália: Springer, 2009.
ISBN 978-1-84628-641-4
Study Wolf, Robot Control Part 1: Forward transformation matrices. Disponível em
www.studywolf.wordpress.com. Data de consulta a 01/02/2021

TRIOLA, Christopher (2009), Special orthogonal groups and rotations. Documento no âmbito de
requerimento de honra em matemática na Universidade Mary Whasington, Virginia. 27 pp

WAMPLER, Charles, SOMMESE, Andrew (2011) Numerical Algebraic Geometry and ALgebraic
Kinematics. Documento apoiodo pela National Science Foundation, pela Duncan Chair of the
University of Notre Dame e pela Genral Motors Research. 87 pp

Você também pode gostar