Escolar Documentos
Profissional Documentos
Cultura Documentos
__________________________________________________________
CURSO DE ESPECIALIZAÇÃO EM
ENGENHARIA
MECATRÔNICA
ROBÓTICA INDUSTRIAL
Prof. Fernando Agustín Pazos
Junho - 2003
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
CAPÍTULO I
1
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
2
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
3
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
4
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Máquina
máquinas
manipulador exploradores uso geral
ferramenta
- Custo:
O custo de um robô amortizado ao longo da vida útil é freqüentemente bem menor que
o custo de trabalho de um operário, incluindo cargas sociais e diversos benefícios que
aumentam o valor da “hora – homem” de trabalho. Os robôs podem trabalhar ao redor de 98%
do tempo da tarefa requerida, por enquanto os operários precisam de tempo de almoço,
descansos, etc. Os robôs produzem com muita maior eficiência que os humanos, pois a
repetição sem fim de uma tarefa, por monótona que ela seja, não implica nele uma perda de
precisão. Nos humanos logicamente produz cansaço e falta de atenção que resultam em falhas
inevitáveis, o qual, claro, incrementa os custos de produção.
- Melhora da produtividade:
Em algumas aplicações os robôs podem trabalhar muito mais rápido que os humanos,
por exemplo em robôs de solda ou de pintura, além de utilizar material nas quantidades
5
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
6
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1.5. EFETUADORES
1.5.1) Garras
As garras são efetuadores destinados a pegar e segurar objetos para seu deslocamento
dentro do espaço de trabalho do manipulador. Esses objetos podem ser pequenos e frágeis,
como é o caso de componentes eletrônicos que são montados numa placa pelo robô, como
7
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
pesados e robustos, como carros que são deslocados de uma parte a outra da linha de
produção de uma montadora. Também podem deslocar diversos objetos como caixas de
papelão, garrafas, matérias primas e inclusive ferramentas. Existem vários princípios físicos
nos quais se baseiam as garras para pegar o objeto, o mais comum é o mecânico, onde alguns
“dedos” se fecham para segurar o objeto a ser deslocado. Mas existem outros princípios
utilizados. A continuação será apresentada uma classificação dos diferentes tipos de garras
segundo o princípio de trabalho utilizado.
1.5.1.1) Dedos acionados mecanicamente: O tipo mais comum de garras são aquelas
que têm dois ou mais dedos que se abrem e fecham mecanicamente. Os dedos são os
apêndices da garra que fazem de fato contato com o objeto a manipular.
Dependendo do projeto da garra, existem diversas formas de movimentação dos dedos.
Podem se distinguir dedos que se deslocam linearmente, se aproximando e afastando entre
eles em forma paralela, e dedos que se abrem e fecham girando ao redor de um pivô comum
para todos os dedos ou não. O ângulo de abertura máxima e mínima, ou a distância de
abertura máxima e mínima, o comprimento dos dedos, se existem articulações intermédias em
cada dedo ou não, são outras características que o projetista deve considerar para adaptar a
garra às especificações de trabalho requeridas.
A energia entregue aos dedos da garra para eles se abrirem e fecharem pode ser
fornecida por diversos tipos de atuadores. Segundo o atuador utilizado, podem se classificar
as garras com dedos como mecânicas, hidráulicas ou pneumáticas. As garras podem possuir
diferentes tipos de sensores também, destinados a medir a abertura dos dedos, a força com que
eles se fecham sobre um objeto, ou ainda a força que exercem sobre uma determinada
superfície (adequada para medir a força de uma ponta de solda, por exemplo).
Nos seguintes desenhos mostram-se algumas garras de dedos típicas movimentadas por
motores ou pistões.
8
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
9
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1.5.1.4) Ganchos: Em muitas situações onde é preciso transportar cargas pesadas, tais
como pacotes, móveis, máquinas, ou objetos pesados e de superfícies irregulares em geral, as
10
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
garras vistas até agora se apresentam como inadequadas. Um simples gancho como os
utilizados em guindastes pode ser adequado para resolver a situação.
Uma desvantagem é que a peça deve estar preparada para ter algum ponto onde o
gancho possa pegá-la, por exemplo pode estar amarrada. A outra grande desvantagem é que
este sistema só serve para transporte, mas não serve para o manuseio da peça de um jeito mais
complicado, por exemplo, orientando-a para depositá-la no destino numa posição
determinada.
1.5.1.5) Garras adesivas: As garras adesivas utilizam uma substância adesiva como
base para a operação de pega do objeto. Em geral, utilizam-se para manipular tecidos e outros
materiais leves que não poderiam ser carregados com outros tipos de garras. Uma das
limitações do uso das garras adesivas é que elas perdem sua adesividade pelo uso repetido,
diminuindo sua confiabilidade como dispositivo de pega com cada ciclo sucessivo de
operação. Para contornar esta limitação, estas garras são projetadas em forma de uma fita
adesiva contínua, a qual vai se enrolando com cada operação de maneira similar ao que
acontece com as fitas de tinta das máquinas de escrever.
1.5.2) Ferramentas
Em algumas aplicações onde existe a necessidade de trabalhar sobre um determinado
objeto, ferramentas são utilizadas como órgãos terminais de robôs manipuladores, que as
deslocam em vez do objeto a ser trabalhado. Na maioria das aplicações, a ferramenta é presa
diretamente no punho do manipulador. Nesses casos a ferramenta é o efetuador, o órgão
terminal destinado a trabalhar sobre a peça. Alguns exemplos de ferramentas usadas como
efetuadores em aplicações robóticas incluem: pontas de solda para soldagem a ponto,
maçaricos para soldagem a arco, bicos para pintura por pulverização, mandris para operações
como furação, polimento ou retífica, aplicadores de cimento ou adesivo líquido para
montagem, maçaricos, ferramentas de corte por jato de água ou ferramentas de corte a laser,
entre outras aplicações possíveis.
11
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Figura 1.6: Ponta de solda por arco solidário ao punho como efetuador
12
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
13
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
prismáticas de revolução
juntas de mais
de 1 DOF :
Figura 1.7: Diferentes tipos de juntas
Figura 1.8: Braço mecânico de 3 DOF. Duas juntas de revolução e uma prismática
14
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
As últimas três juntas recebem usualmente o nome de punho. Como foi mencionado,
elas têm por objetivo orientar o efetuador numa direção arbitrária, conveniente para a tarefa a
ser realizada. Por exemplo, uma garra deve estar orientada convenientemente com respeito à
peça de trabalho, a fim de poder agarrá-la. Essas juntas sempre são de revolução, pois o
objetivo é a orientação do efetuador e não seu posicionamento. As variáveis que caracterizam
o movimento dessas três juntas são ângulos que recebem o nome genérico de “pitch”, “yaw”,
e “roll”, respectivamente.
A junta de “roll” representa a rotação do efetuador com respeito ao eixo transversal do
último elo, ou eixo que coincide com a orientação deste. Na de “yaw”, o eixo de rotação está
numa perpendicular ao último elo, envolveria o giro do efetuador à direita e à esquerda. Na
junta de “pitch” o eixo de rotação é perpendicular ao anterior, e envolveria o giro do efetuador
para cima e para baixo. Esta junta é chamada às vezes de inclinação do efetuador. Observe-se
que nestas três juntas os eixos de rotação são sempre perpendiculares, permitindo uma
orientação do efetuador em qualquer ângulo. Os limites de movimento de cada uma dessas
três juntas limitarão as orientações possíveis do efetuador.
de rotação; no caso das juntas prismáticas, a distância entre um elo (ou um ponto determinado
dele) e a junta que o une com o elo anterior.
O estado dessas variáveis é suficiente para determinar a posição do efetuador ou de
qualquer ponto do manipulador, pois, se for conhecida a posição de cada uma das juntas a
partir da primeira (a que une a base com o primeiro elo), e os comprimentos dos elos, é
possível conhecer essa posição. Essas variáveis são, portanto, uma adequada eleição de
coordenadas generalizadas do manipulador. Em geral elas se representam por meio de um
vetor de tantas componentes como juntas tem o manipulador, independentemente que
algumas dessas componentes representem ângulos e outras distâncias.
A figura seguinte representa um robô manipulador de duas juntas de revolução. As
coordenadas generalizadas estarão dadas pelo vetor [θ1 θ2], cujas componentes representam
os ângulos dessas juntas.
Nos robôs reais, os limites mecânicos no movimento das juntas produzem um espaço de
trabalho com contornos complexos, como é ilustrado na seguinte figura.
18
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
19
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
x = R cos θ
y = R sen θ
z = z
terceira coordenada é prismática, é a que faz afastar ou aproximar o terceiro elo do segundo, e
essa distância é chamada de ρ. As coordenadas generalizadas que representam os três
primeiros graus de liberdade estarão definidas então pelo vetor [θ ϕ ρ].
O espaço de trabalho neste tipo de manipuladores será uma esfera, ou o um espaço
definido pelo volume encerrado por duas esferas de diferente raio com centro comum no
ombro do robô. A representação das três coordenadas generalizadas num referencial não
inercial, cuja origem coincide com a base do robô, pode ser visualizada no seguinte desenho:
x = ρ cos ϕ cos θ
y = ρ cos ϕ sen θ
z = ρ sen ϕ
21
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
22
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Sendo l1 o comprimento do primeiro elo, aquele que está unido com a base através da
junta do ombro (coordenada generalizada expressada como θ2), e sendo l2 o comprimento do
segundo elo, unido ao primeiro através da junta correspondente ao cotovelo do braço
mecânico (coordenada θ3). Finalmente, θ1 representa o ângulo de rotação da base, e em seu
ponto de aplicação é que se considera a origem do sistema de coordenadas [x y z].
O movimento em cada junta é realizado por atuadores, que podem ser motores elétricos,
pistões hidráulicos ou pistões pneumáticos, que dão às juntas um movimento linear ou de
rotação. Os atuadores são mecanicamente conectados às juntas por meio de diferentes
mecanismos de transmissão, tais como engrenagens, polias, correntes e parafusos de
acionamento, destinados a dar ao movimento a desejada direção, força e velocidade.
Nos braços mecânicos o mais comum é utilizar motores elétricos. No caso de alguma
das juntas ser prismática, em geral o movimento linear é conseguido através de um parafuso
de acionamento, que transforma o movimento de rotação do motor num deslocamento linear.
O acionamento elétrico propicia ao robô uma maior precisão, além de requerer espaços
reduzidos para sua montagem, podendo se colocar os atuadores na própria estrutura física do
manipulador.
O acionamento hidráulico é utilizado em manipuladores de grande porte, pois eles
propiciam ao robô maior velocidade e força. Em contrapartida, ele se soma ao espaço útil
requerido pelo robô, além de sofrer de outros inconvenientes tal como a possibilidade de
vazar óleo. O acionamento pneumático é utilizado em robôs manipuladores de pequeno porte
e poucos graus de liberdade, geralmente não mais de dois. Os pistões pneumáticos não
possuem uma grande precisão devido à compressibilidade do ar, por isso os robôs assim
acionados se utilizam geralmente em operações de “pega e põe” (conhecidos como pick &
23
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
place), onde os elos se deslocam bruscamente entre dos extremos possíveis. Esse tipo de
acionamento é conhecido como bang-bang.
Na maioria dos casos, para o controlador poder executar o programa de controle, é
necessário fechar a malha através de sensores, por precisar conhecer a resposta do
manipulador a fim de imprimir nos motores os sinais de excitação necessários para executar a
trajetória com precisão. Os sensores utilizados são sensores de posição, um por cada junta. Os
mais comuns são os encoders óticos incrementais, onde o controlador vai contando os pulsos
entregues pelo sensor ótico para conhecer a posição da junta. Às vezes são utilizados
potenciômetros rotativos também, onde o sinal analógico entregue é proporcional ao ângulo
de rotação da junta. Em caso da junta ser prismática, uma engrenagem pode converter o
movimento linear para uma rotação e assim entregar a informação para um encoder. Também
podem ser usados sistemas de visão digitais; analisando a imagem fornecida, o controlador
pode conhecer a posição de todas as juntas do braço.
Dependendo da tarefa, o efetuador pode exercer uma determinada força sobre uma
superfície sobre a qual de desliza, por exemplo para efetuar uma solda, ou um corte, entre
outras aplicações possíveis. Nesse caso o controlador não mais controlará apenas a trajetória
do efetuador, mas também a força que este exerce sobre a superfície, a fim de não quebrá-la
ou não deteriorar a ferramenta utilizada. Para isso é necessária a utilização de sensores de
força no punho do manipulador, e em geral são utilizados strain gauges.
Em alguns casos os programas de controle precisam conhecer as velocidades das juntas
também, dependendo da lei de controle a ser implementada. Porém, não é comum utilizar
tacómetros nos manipuladores por causa do alto nível de ruído destes dispositivos. Em geral,
o controlador deriva a posição com respeito ao tempo para estimar a velocidade.
O manipulador deve ser controlado por algum tipo de controlador programável; o mais
comum é utilizar computadores digitais. O programa de controle é responsável por conseguir
que a operação feita pelo manipulador acompanhe, da maneira mais fiel possível, a posição de
referência. Esta posição de referência pode ser inserida externamente, através de um mouse,
um joystick, ou pelo teclado, ou pode estar já programada dentro do software de controle.
Interfaces, placas de potência, conversores A/D e D/A, completam a estrutura do
sistema de controle e da planta necessária para um funcionamento adequado.
24
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
r(t)
+ e(t)
controlador
u(t)
atuadores
u(t)
planta
y(t)
sensores
Existem diversos tipos e classificações dos diferentes algoritmos de controle para robôs
manipuladores. Esses algoritmos, dependendo da sua complexidade, podem ser
implementados por controladores de diversas tecnologias, de alguns muito simples tais como
sistemas eletro–mecânicos de relays e switches, até micro computadores ou micro
controladores digitais.
Existem três tipos básicos de controle de manipuladores.
O primeiro é utilizado em robôs acionados por pistões que podem ser hidráulicos ou
pneumáticos, sendo esta última possibilidade a mais freqüente. O controlador simplesmente
ativa o desativa as eletro-válvulas correspondentes para que o ar comprimido, ou o fluido
pressurizado, empurrem ou puxem as hastes dos pistões até seus limites, movimentando assim
os elos ou a peça de maneira adequada. Esses sistemas em geral operam em malha aberta, não
possuindo portanto nenhum sensor para poder monitorar as posições dos pistões. Esse tipo de
controle é chamado de bang – bang e é utilizado principalmente em manipuladores do tipo
pick & place (“pega e põe”). Os controladores desses sistemas também podem ser muito
simples, como circuitos eletrônicos com temporizadores e saídas digitais para o acionamento
das eletro-válvulas.
O segundo tipo de controle é aplicado a manipuladores mais sofisticados, que têm um
sistema de sensores para medir a posição das juntas. Nele, o programa de controle tem por
objetivo executar uma tarefa consistente em levar o efetuador de um ponto a outro do espaço
de trabalho, e ficar ali estacionado por um tempo indeterminado ou até nova ordem. Esse tipo
de controle é chamado de controle de posição, ou controle ponto a ponto. Nesses algoritmos
de controle, existe um sinal de referência que indica a posição a deslocar o efetuador. Esse
sinal de referência é uma posição no espaço de trabalho fixa, portanto um vetor constante no
tempo, que pode estar expressado no espaço de trabalho ou no espaço das juntas. Uma vez
25
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
atingida a posição de referência, uma outra pode ser inserida, repetindo a tarefa tantas vezes
como seja necessário, mas cada posição é determinada por um vetor constante no tempo.
Também o programa pode determinar que o braço efetue uma trajetória dentro do
espaço de trabalho ao longo do tempo, cuidando a cada instante da sua posição e velocidade,
em cujo caso está se falando de controle de trajetória. Nesse terceiro tipo de controle o sinal
de referência é uma função do tempo, e o controlador deve cuidar que o manipulador
acompanhe a trajetória desejada com o menor erro de rastreamento possível. Este tipo de
controle é implementado quando interessa que o efetuador acompanhe uma trajetória
determinada dentro do espaço de trabalho, o que acontece com os robôs de solda, por
exemplo.
Usualmente, essas quantidades referem-se à máxima carga útil que pode ser
transportada e à máxima velocidade de deslocamento permitida, pois precisão e repetibilidade
são altamente dependentes dessas duas especificações.
Observe-se no seguinte desenho uma ilustração desses conceitos.
27
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
CAPÍTULO II
CINEMÁTICA
2.1. INTRODUÇÃO
28
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
p 0 x i 1i 0 j1i 0 k 1 i 0 p 1x
p = i j j1 j0 k 1 j0 p1y
0y 1 0
p 0 z i 1k 0 j1k 0 k 1k 0 p1z
onde a matriz que relaciona ambos vetores é chamada matriz de rotação entre os
1
referenciais 1 e 0 e denominada 0R, porque relaciona as coordenadas do vetor p no
referencial 1 com as coordenadas desse vetor no referencial inercial:
29
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
p 0 x p1x
p = 1 R p
0 y 0 1y
p 0 z p1z
p 1x i 0 i 1 j0 i 1 k 0 i 1 p 0 x p 0 x
p = i j j0 j1 k 0 j1 p 0 y = 01 R p 0 y
1y 0 1
p1z i 0 k 1 j0 k 1 k 0 k 1 p 0 z p 0 z
30
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
cos θ − sen θ 0
1
0 R = sen θ cos θ 0
0 0 1
[p 0x p0y p 0z ] = R [p p
T 1
0 1x 1y p 1z ]
T
[p 0x p0y p 0z ] = R [p p
T 2
0 2x 2y p 2z ]
T
[p 1x p1y p 1z ] = R [p p
T 2
1 2x 2y p 2z ]
T
⇒ p 0x [ p0y p ] = R R [p
0z
T 1
0
2
1 2x p 2y p 2z ]
T
⇒ 20 R = 01 R 21 R
o que significa que para transformar um vetor expressado num referencial 2 para um
referencial 0, podemos primeiro transformar sua representação para um referencial 1, para
depois transformá-lo para o referencial 0.
31
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1
0 R = R k ,θ
onde :
r + r + r −1
θ = cos −1 11 22 33
2
r32 − r23
1
k= r − r
2sinθ
13 31
r21 − r12
b) Ângulos de Euler Z – Y – X
O método de representação da rotação de um referencial pelos ângulos de Euler,
consiste na determinação de três ângulos chamados α, β e γ. Para estabelecer cada um deles
deve-se primeiro girar um sistema de coordenadas ao redor do eixo z0 um ângulo α,
resultando um novo sistema ox’y’z0. Seguidamente o sistema é girado ao redor do novo eixo
y’, um ângulo β, gerando o sistema ox’’y’z’. Finalmente, deve-se girar o sistema ao redor do
32
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
outro novo eixo z’, um ângulo γ, conformando-se o sistema ox’’y’’z’. Assim, a rotação total
1
0 R = R z ,α R y ',β R z ', γ =
cos α − sen α 0 cos β 0 sen β cos γ − sen γ 0
= sen α cos α 0 0 1 0 sen γ cos γ 0 =
0 0 1 − sen β 0 cos β 0 0 1
cos α cos β cos γ − sen α sen γ − cos α cos β sen γ − sen α cos γ cos α sen β
= sen α cos β cos γ + cos α sen γ − sen α cos β sen γ + cos α cos γ sen α sen β
− sen β sen γ sen β cos γ cos β
pode ser representada como um produto de três rotações ao redor de cada eixo:
1
0 R = R z ,ϕ R y ,θ R x ,ψ =
cos ϕ − sen ϕ 0 cos θ 0 sen θ 1 0 0
= sen ϕ cos ϕ 0 0 1 0 0 cos ψ − sen ψ =
0 0 1 − sen θ 0 cos θ 0 sen ψ cos ψ
cos ϕ cos θ − sen ϕ cos ψ + cos ϕ sen θ sen ψ sen ϕ sen ψ + cos ϕ sen θ cos ψ
= sen ϕ cos θ cos ϕ cos ψ + sen ϕ sen θ sen ψ − cos ϕ sen ψ + sen ϕ sen θ cos ψ
− sen θ cos θ sen ψ cos θ cos ψ
Todo movimento de um corpo rígido pode ser representado por uma rotação do corpo, a
qual pode se representar com uma matriz de rotação, e um deslocamento linear do corpo com
respeito à origem de coordenadas.
Por exemplo, seja um corpo rígido solidário com o referencial o1x1y1z1, que se desloca
sem girar no espaço, as coordenadas de um ponto P do corpo com respeito ao referencial
inercial o0x0y0z0, podem se representar:
p 0 x = p1x + d10 x
p 0 y = p1y + d10 y
p 0 z = p1z + d10 z
onde [p0x p0y p0z]T é o vetor p representado no referencial inercial, [p1x p1y p1z]T é o
mesmo vetor representado no referencial solidário com o corpo rígido, e [d10x d10y d10z]T é o
vetor que une as origens dos sistemas de coordenadas, expressado no referencial 0, como
mostrado na seguinte figura:
P
P
Mas, em geral, o corpo rígido poderá se trasladar um vetor d10, e girar com uma rotação
representada por uma matriz 10R =>
p 0 x p 1x
p = 1 R p + d1
0 y 0 1y 0
p 0 z p1z
[p 0x p oy ] [
T
p 0 z = 01 R p1x p 1y p1z ] + [d
T 1
0x d 10 y d 10 z ]
T
[p 1x p 1y p1z ] = R [p
T 2
1 2x p 2y p 2z ] + [d
T 2
1x d 12y d 12z ] ⇒
T
p 0 x p 2 x d 12x d 10 x p 2 x
p = 1 R 2 R p + 1 R d 2 + d 1 = 2 R p + d 2 ⇒
0 y 0 1 2 y 0 1y 0 y 0 2 y 0
p 0 z p 2 z d 1z d 0 z
2 1
p 2 z
2
0 R = 01 R 21 R e d 02 = 01 Rd12 + d10
Estas equações representam a relação entre as matrizes de rotação, que já tinham sido
estabelecidas, e a relação entre o vetor de deslocamento linear do referencial 2 com respeito
ao referencial 0 em função do referencial 1. Observe-se a relação entre os vetores que
determinam as posições das origens de coordenadas dos referenciais. O vetor que une a
origem do referencial 2 com a origem do referencial 1, d21, e cujas coordenadas estão
expressadas no referencial 1, primeiro devem ser transferidas ao referencial 0 através da
1
matriz de rotação 0R; depois é somado o vetor que une as origens dos referenciais 0 e 1,
expressadas em termos do referencial inercial, para obter as coordenadas do vetor que une o
referencial 2 com o referencial 0, expressadas em termos do referencial inercial.
Definindo a matriz de transformação homogênea:
R d
H=
0 1x 3 1
35
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
onde 01x3 é o vetor linha [0 0 0]. Aplicada para cada um dos referencias especificados:
01 R d10 21 R d12
1
0 H=
2
1 H=
01 x 3 1 0 1x 3 1
20 R d 02 01 R 21 R 1
Rd12 + d10 01 R d10 21 R d12 1 2
2
0 H= =
0
= = 0 H 1H
0 1x 3 1 0 1x 3 1 0 1x 3 1 01 x 3 1
−1
RT − R T d −1
I − RR T d + d
H = porque H H = 3x 3 = I 4x 4
01 x 3 1 01 x 3 1
p x
p
p = y ∈ ℜ4
p z
1
podemos provar que :
p 0x p1x
p
0y = 01 H p1y
p 0z p1z
1 1
36
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Suponha-se um manipulador de n+1 elos interligados por juntas de 1 DOF cada uma,
este manipulador conforma uma cadeia cinemática aberta, com um primeiro elo fixo, e n elos
a continuação, com o efetuador anexado ao extremo do último. Podemos atribuir a cada elo
um referencial solidário com ele. As coordenadas de qualquer ponto do manipulador podem
ser expressadas com respeito ao referencial solidário com o elo desse ponto, ou com respeito
ao referencial inercial 0. Chamando T às matrizes de transformação homogêneas:
n
0T = 10T 2
1T
3 n
2T....... n-1T
Assim, sabendo a transformação de cada referencial solidário com cada elo com
respeito ao elo anterior, é possível conhecer a posição e orientação do efetuador com respeito
ao referencial inercial.
A notação de Denavit-Hatemberg é uma convenção para fixar os elos solidários a cada
referencial. A primeira norma consiste na numeração de cada elo e de cada junta, segundo a
seguinte regra:
Base fixa: elo 0 junta 1: entre elo 0 e elo 1
1° corpo móvel: elo 1 junta 2: entre elo 1 e elo 2
2° corpo móvel: elo 2 junta 3: entre elo 2 e elo 3
•
•
efetuador: elo n junta n: entre último elo e efetuador
As condições para a fixação dos referenciais são as seguintes:
- O referencial i é solidário com o elo i
- O eixo zi coincide com o eixo de rotação (caso a junta anterior seja de revolução) ou o
eixo de translação (caso a junta anterior seja prismática)
- Se zi não for coplanar com zi-1, xi-1 coincide com a menor perpendicular entre zi e zi-1.
Se forem coplanares, xi-1 coincide com a perpendicular entre zi e zi-1 a partir do ponto de
aplicação da junta.
- yi-1 é estabelecido pela regra da mão direita.
- oi-1 é colocado na interseção entre zi-1 e xi-1
A notação de Denavit-Hatemberg estabelece 4 parâmetros:
37
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
- ai-1: distância da menor perpendicular entre zi-1 e zi ou distância ao longo de xi-1 entre
zi-1 e zi
- αi-1: ângulo de desvio entre zi-1 e zi medido no plano perpendicular a xi-1
- di: distância entre a interseção de xi-1 e zi, e oi
- θi: ângulo entre xi e xi-1
Podemos observar um exemplo de colocação de dois referenciais entre elos adjacentes
com juntas de revolução e o estabelecimento desses quatro parâmetros na figura seguinte:
Observe-se que os parâmetros ai-1 e αi-1 são constantes, ao tempo que, para juntas de
revolução
•
d i = 0 e θ& i ≠ 0
mas, se a junta for prismática
d& i ≠ 0 e θ& i = 0
38
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
i α i-1 a i-1 d i θ i
1 0 0 0 θ 1
2 -π /2 0 d 2 θ 2
3 0 a2 d 3 θ 3
39
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Os elos i e i-1 não são paralelos, tem formas complexas, e suas juntas adjacentes (ambas
de revolução, no exemplo), tem eixos de rotação não paralelos e nem coplanares. Mas a
transformação entre os referenciais i e i-1, a pesar de ser complexa, pode se decompor em 4
transformações simples.
A primeira transformação consiste em deslocar o referencial i ao longo do seu eixo zi
sem girar, isto é, uma translação pura, uma distância di até o ponto P.
A segunda consiste em girar o novo referencial P, ao redor do seu eixo zi um ângulo θi,
de maneira tal que xp coincida com a direção de xi, formando o novo referencial Q. Uma
rotação pura ao redor de um eixo z sem translação.
A terceira consiste em deslocar o referencial Q ao longo do seu eixo xq (que é
coincidente com a direção de xi-1), uma distância ai-1, até a origem do referencial Q coincidir
com a origem do referencial i-1, formando o novo referencial R.
Finalmente, a terceira transformação consiste em girar o referencial R ao redor do seu
eixo xR (coincidente com xi-1), um ângulo αi-1, de maneira tal que o novo referencial coincida
com o referencial i-1.
Assim, a transformação entre os elos i e i-1 pode ser decomposta nas seguintes 4
transformações simples:
i
i −1T = iR−1T QRT PQT Pi T
40
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1 0 0 0
0 1 0 0
PT =
i
0 0 1 di
0 0 0 1
Por se tratar de uma translação pura ao longo do vetor [0 0 di]T, a matriz de rotação
i
PR=I3
cos θ i − sen θ i 0 0
sen θ cos θ i 0 0
QT =
P i
0 0 1 0
0 0 0 1
1 0 0 a i −1
0 1 0 0
RT =
Q
0 0 1 0
0 0 0 1
1 0 0 0
0 cos α − sen α i −1 0
i −1T =
R i −1
0 sen α i −1 cos α i −1 0
0 0 0 1
Por se tratar de uma rotação pura ao redor do eixo xi-1 um ângulo αi-1
Portanto, multiplicando as matrizes:
41
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
cos θ i − sen θ i 0 a i −1
cos θ sen α cos θ i cos α i −1 − sen α i −1 − d i sen α i −1
i −1T =
i i i−
42
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
E
E E
Y2 X2
y1
x1
sendo
cos θ1 − sen θ1 0 0
cos θ1 − sen θ1 0 0 sen θ
cos θ1 0 0
0 R = sen θ1
1
cos θ1 0 d 0 = 0 ⇒
1
0T =
1 1
0 0 1 0
0 0 1 0
0 0 0 1
cos θ 2 − sen θ 2 0 l1
cos θ 2 − sen θ 2 0 l 1 sen θ
cos θ 2 0 0
1 R = sen θ 2
2
cos θ 2 0
d 1 = 0 ⇒ 1T =
2 2 2
0 0 1 0
0 0 1 0
0 0 0 1
1 0 l2
0
1 0 0 l 2 0
1 0 0 0
1
2 R = 0
E
d 2 = 0 ⇒
E E
2T =
0 1 0
0
0 0 1 0
0 0
0 1
cos(θ1 + θ 2 ) − sen(θ1 + θ 2 ) 0 l 2 cos(θ1 + θ 2 ) + l1 cos θ1
sen(θ + θ ) cos(θ + θ ) 0 l 2 sen(θ1 + θ 2 ) + l1 sen θ1
⇒ E
T = 1 2 1 2
0
0 0 1 0
0 0 0 0
43
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
observe-se que nesta transformação está explícita a rotação do referencial solidário com
E
o ponto E na matriz de rotação 0R ∈ℜ3x3 das primeiras linhas e colunas, e o vetor de
deslocamento do ponto E com respeito à origem de coordenadas, ou vetor dE0 expressado em
sua representação homogênea pela última coluna. Se multiplicarmos a representação
homogênea do vetor de posição do ponto E expressado com respeito a esse referencial, que
como foi mostrado é [0 0 0 1]T , pela matriz de transformação homogênea E0T, obteremos um
vetor igual à última coluna dessa matriz, que é representação homogênea do vetor posição do
ponto E expressado com respeito a um referencial inercial 0.
cos φ − sen φ 0
E
0 R = sen φ cos φ 0
0 0 1
x E l 2 cos(θ1 + θ 2 ) + l1 cos θ1
d = y E = l 2 sen(θ1 + θ 2 ) + l1 sen θ1
E
0
0 0
portanto:
xE2 + yE2 = l22 + l12 + 2 l1 l2 [cos(θ1+θ2)cosθ1+sen(θ1+θ2)senθ1 ] = l22 + l12 + 2 l1 l2
cosθ2
cosθ2 = (xE2 + yE2 – l22 – l12 ) / (2 l1 l2 ) := D
θ2 = cos-1 D ou θ2 = tg-1 ±√ (1-D2) / D
θ1 = φ - θ2 ou θ1 = tg-1 yE/xE – tg-1 (l2 senθ2/ (l1 + l2 cosθ2))
tanto θ1 como θ2 tem duas soluções, exceto quando o termo D = 1 =>
θ2 = tg-1 0 = 0 ou π e θ1 = tg-1 yE/xE ou tg-1 yE/xE - π
pontos que correspondem à situação em que xE2 + yE2 = l12 + l22 + 2 l1 l2 = (l1 + l2)2
chamados também de pontos singulares. A importância destas posições singulares será
analisada numa seção posterior.
x1
d01
o0 y0
x0
45
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
p 0 x p 1x p& 0 x p 1x
p = p 0 y = d 0 + 0 R p 1y ⇒ p& = p& 0 y = d& 0 + ϖ ∧ 0 R p 1y
1 1 1 1
p 0 z p 1z p& 0 z p 1z
onde todos os vetores estão referidos ao referencial 0, menos no caso de [p1x p1y p1z]T,
que são as coordenadas do ponto P no referencial 1; evidentemente, o produto
1
0R [p1x p1y p1z]T está referido ao referencial 0. O ponto por cima da variável indica sua
derivada com respeito à variável temporal.
Supondo agora que o vetor p também se desloca com respeito ao referencial não inercial
(o que eqüivale a supor que o corpo não é rígido):
p& 0 x p 1x p& 1x
p& = p& 0 y = d& 10 + ϖ ∧ 01 R p 1y + 01 R p& 1y
p& 0 z p 1z p& 1z
vn J v (q)
n = J 0 (q)q& = J 0n ∈ ℜ 6 xn
n
q& /
ω
J
ω (q )
x E = l1 cos θ1 + l 2 cos(θ1 + θ 2 )
y E = l1 sen θ1 + l 2 sen(θ1 + θ 2 )
x& = −l1 sen θ1 θ& 1 − l 2 sen(θ1 + θ 2 )(θ& 1 + θ& 2 )
⇒ E
& & &
y& E = l1 cos θ1 θ1 + l 2 cos(θ1 + θ 2 )(θ1 + θ 2 )
x& E − l1 sen θ1 − l 2 sen(θ1 + θ 2 ) − l 2 sen(θ1 + θ 2 ) &
θ
⇒ v E = d& 0 = y& E = l1 cos θ1 + l 2 cos(θ1 + θ 2 )
2
l 2 cos(θ1 + θ 2 ) 1 = J Ev (q)q&
θ&
z& E 0 0 2
0 0 0 &
θ
ϖ E = ϖ E k 2 = ϖ E k 0 = (θ& 1 + θ& 2 )k 0 = 0 = 0 0 1 = J ϖE (q)q&
θ&
θ& 1 + θ& 2 1 1 2
− l1 sen θ1 − l 2 sen(θ1 + θ 2 ) − l 2 sen(θ1 + θ 2 )
l cos θ + l cos(θ + θ ) l 2 cos(θ1 + θ 2 )
1 1 2 1 2
J Ev 0 0
⇒ J (q) = E =
E
J ϖ 0 0
0 0
1 1
47
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
igual à soma das velocidades angulares de cada junta, vezes o vetor unitário k0, isto porque
ambas as juntas giram no mesmo plano (vetor velocidade angular perpendicular ao plano de
rotação, ou paralelo a todos os eixos z).
2.10. SINGULARIDADES
x& = J(q)q&
48
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
• Perto das singularidades não existe uma única solução para o problema da
cinemática inversa. Poderia não ter solução ou ter infinitas soluções.
49
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
CAPÍTULO III
DINÂMICA
1.1. INTRODUÇÃO
50
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
distância entre dois partículas quaisquer deve permanecer constante (restrição holonômica),
isto é, || ri – rj || = cte. ∀ i,j ∈ {1..k}. Se o sistema estiver sujeito a l restrições holonômicas,
isto implica na perda de l graus de liberdade do sistema como um todo com respeito ao
sistema de k partículas movimentando-se livremente no espaço.
Diante de qualquer sistema de forças externas à qual for submetido o sistema de
partículas, a restrição anterior deverá ser observada.
É possível expressar as coordenadas das k partículas em função de n coordenadas
generalizadas q1,..,qn, sendo estas coordenadas uma adequada escolha de variáveis
independentes necessárias para descrever a posição de cada partícula do sistema. Assim:
ri = ri (q1,...,qn) = ri (q) i = 1,..,k
A possibilidade de expressar os vetores de posição das partículas em função das
coordenadas generalizadas poderia ser feito ainda no caso do sistema possuir infinitas
partículas. Efetivamente, um corpo rígido tem infinitas partículas, mas sempre se observa a
restrição holonômica apontada anteriormente através de todo o movimento do corpo diante de
qualquer força externa aplicada, sendo portanto necessárias apenas a utilização de 6
coordenadas generalizadas para descrever a posição de cada partícula do corpo, por exemplo,
3 coordenadas generalizadas para descrever a posição do centro de massa do corpo, e 3
ângulos de Euler para descrever a orientação do objeto.
Suponha-se que cada uma das k partículas sofre um deslocamento infinitesimal δri,
onde o conjunto total de deslocamentos δr1,..,δrk são consistentes com a restrição de forças
(restrição holonômica) e também são função das coordenadas generalizadas δri(q). Podemos
expressar cada um destes deslocamentos em função das n coordenadas generalizadas,
aplicando a regra da cadeia, precisamente:
T
∂r n
∂r
δri = i δq = ∑ i δq j i = 1,.., k
∂q j=1 ∂q j
∑ (f
T T
i − p& i )δri = 0
i =1
(3.1)
Observe-se que isto não significa que cada deslocamento δri em particular seja zero,
mas que o trabalho efetuado pela totalidade de forças externas aplicadas a cada partícula,
menos o trabalho efetuado pela soma das derivadas dos momentos de cada partícula é igual a
zero.
Por ser ri função das coordenadas generalizadas: (3.2)
T
∂r n
∂r
∴ δri = i δq = ∑ i δq j
∂q j=1 ∂q j
T ∂ri
k k n n
⇒ ∑ f i δri = ∑∑ f i δq j = ∑ ψ j δq j
T
i =1 i =1 j=1 ∂q j j=1
k
∂ri
onde ψ j = ∑ f i
T
é a componente j da força generalizada
i =1 ∂q j
Note-se que ψj não precisa ter necessariamente dimensões de força, assim como qj não
precisa ter dimensões de distância, mas o produto ψjδqj sempre terá dimensões de trabalho.
O segundo termo na equação (3.1), desde que pi = mi ∂ri/∂t :
k n k n
∂ri
∑ p& T δri = ∑ m i&r&iT δri = ∑∑ m i&r&i
T
δq j
i =1 i =1 i =1 j=1 ∂q j
(3.3)
Considerando:
k
∂ T ∂ri
k T ∂ri
k
∂ ∂ri
∑
i =1 ∂t
m r
&
i i = ∑ i i ∂q ∑
∂q j i =1
m r
&& + m i
∂t ∂q j
j i =1
e também
T
∂r ∂q n
∂r ∂v i ∂ri ∂v i n
∂ 2 ri
v i = r&i = i = ∑ i q& j ⇒ = e =∑ q& j
∂q ∂t j=1 ∂q j ∂q& j ∂q j ∂q m j=1 ∂q j ∂q m
(3.4)
para i∈[1..k] m∈[1..n]
52
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
k
∂ri k
∂ T ∂ri
k T ∂
∂ri
∑ m i&r&i = ∑ m i r&i − ∑ m i r&i
T
=
i =1 ∂q j i =1 ∂ t ∂q i =1
j ∂t ∂q
j
k
∂ T ∂v i
k T ∂v i
= ∑ m i v i − ∑ mi vi
i =1 ∂t
∂q& j i =1 ∂q j
i =1 2
∂K k
∂v ∂K k
∂v
⇒ = ∑ m i v iT i e = ∑ m i v iT i
∂q j i =1 ∂q j ∂q& j i =1 ∂q& j
∂v i
por ser v iT um escalar
∂q j
k
∂ri ∂ ∂K ∂K
∑ m &r&
T
de (3.5) ⇒ i i = −
i =1 ∂q j ∂t ∂q& j ∂q j
n
k
∂ ∂K ∂K
∑ p i δri = ∑
T
& − δq j
i =1 ∂t ∂q& j ∂q j
j=1
e combinando com a expressão (3.1) cujo primeiro termo foi transformado em (3.2):
n ∂ ∂K ∂K
∑
j=1 ∂t ∂q&
−
∂q
− ψ j δq j = 0
j j
53
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
∂ ∂K ∂K
− = ψj j = 1...n
∂t ∂q& j ∂q j
Se a força generalizada ψj for a soma da força externamente aplicada mais outra devida
a um campo potencial, então a seguinte modificação é possível; supondo a existência de uma
função τj e V(q) tal que:
∂V (q)
ψj = − + τj
∂q j
∂ ∂ (K − V ) ∂ (K − V )
⇒ − = τj j = 1...n
∂t ∂q& j ∂q j
e chamando L = K - V
∂ ∂L ∂L
− = τ j j = 1...n
∂t ∂q& j ∂q j
(3.6)
Porque V(q) não depende de ∂qj /∂t, ou velocidade da coordenada generalizada. A
expressão L = K-V é chamado o Lagrangiano, onde V é a expressão da energia potencial do
sistema e τj é a força (ou torque) aplicado na coordenada generalizada j.
A última equação é conhecida como equação de Euler-Lagrange e representa a
descrição do movimento das partículas em função das suas energias.
Nesta seção serão derivadas as expressões das energias cinéticas e potencial para um
corpo rígido, expressões necessárias para serem aplicadas no lagrangiano anteriormente
deduzido. Primeiramente será mostrado que a energia cinética possui dois termos, o primeiro
é a energia translacional obtida por concentrar a massa inteira do objeto no seu centro de
massa; o segundo termo corresponde à energia rotacional do corpo ao redor do seu centro de
massa. A energia potencial do corpo é a mesma que obteríamos concentrando toda sua massa
no centro de massa deste. Uma vez que as expressões das energias cinética e potencial forem
conhecidas, o lagrangiano do manipulador inteiro é simplesmente a soma dos lagrangianos de
cada um dos seus elos.
54
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
∫ ρ(x, y, z)∂x∂y∂z = m
B
onde ρ(x, y, z) é a densidade de massa
sendo seu centro de massa
x c
1 1 1
rc = y c / x c = ∫ xρ∂x∂y∂z y c = ∫ yρ∂x∂y∂z z c = ∫ zρ∂x∂y∂z
m B m B m B
z c
1 1
⇒ rc = ∫ rρ∂x∂y∂z = ∫ r∂m ⇒ ∫ (r − rc )∂m = 0
m B m B B
onde a integral com sub-índice B indica uma integral tripla em todo o volume do objeto,
m é a massa do objeto, e é explicitado a dependência de ρ(x,y,z) das coordenadas de cada
partícula do objeto. Por comodidade, denominamos a densidade de massa vezes um
diferencial de volume como um diferencial de massa, isto é ρ∂x∂y∂z = ∂m. O vetor r =
[x y z]T é o vetor posição, o vetor rc entra na integral por ser constante, e portanto não
depender das coordenadas de posição.
A velocidade do corpo pode ser expressada como a velocidade de deslocamento do centro
de massa mais a velocidade de rotação ao redor do centro de massa:
v = vc + ω∧r
Expressando todos os vetores com respeito a um referencial não inercial com a origem
solidária com o centro de massa do corpo => rc = 0
ω x x
ω = ω y e r = y ⇒
ω z z
i j k ω y z − ωz y 0 − ωz ω y x
ϖ ∧ r = det ω x ωy ω z = ω z x − ω x z = ω z 0 − ω x y = S(ϖ)r
x y z ω x y − ω y x − ω y ωx 0 z
55
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1 T 1
K= ∫
2B
v vρ∂x∂y∂z = ∫ v T v∂m =
2B
1 1
= ∫
2 B
( v c + ϖ ∧ r ) T ( v c + ϖ ∧ r )∂m = ∫ ( v c + S(ω)r ) T ( v c + S(ω)r )∂m
2 B
1 1
= ∫ v c v c ∂m + ∫ r T S T (ϖ)S(ϖ)r∂m + ∫ v Tc S(ϖ)r∂m
T
2 B 2 B B
(3.6)
Note-se que o argumento da última integral é um escalar, sendo portanto essa expressão
igual à sua transposta, daí a desaparição do fator ½ nesse termo.
A continuação serão analisados cada um desses três termos por separado.
1 1
2 ∫B
v Tc v c ∂m = v Tc v c m
2
por não depender v c da densidade de massa
1
∫
2 B
1
[
r T S T (ϖ)S(ϖ)r∂m = ∫ Tr S(ϖ)rr T S(ϖ) ∂m
2 B
] [ ]
por ser a T b = Tr ba T
1
[
= Tr S(ϖ) ∫ rr T ∂m S T (ϖ)
2 B
]
x 2 xy xz
e chamando ∫ rr T ∂m = ∫ xy y 2 yz ∂m = J
B B
xz zy z 2
1
[
⇒ = Tr S(ϖ)JS T (ϖ)
2
]
1 T
ϖ Iϖ
2
onde
( y 2 + z 2 )∂m
∫B
− ∫ xy∂m − ∫ xz∂m
B B
I = − ∫ xy∂m ∫B ( x + z 2
2
) ∂m − ∫B yz∂ m
B
− ∫Bxz∂m − ∫ yz∂m
B ∫B
( x 2 + y 2 )∂m
1 T 1
K= mv c v c + ω T Iω
2 2
(3.7)
Onde fica explícito os dois efeitos, de translação e de rotação, que contribuem para a
energia cinética do corpo.
A continuação faremos algumas considerações sobre o referencial ao qual estão
referidos os diferentes vetores das equações anteriores. O produto vcTvc é o quadrado da
norma do vetor vc. Assim, não depende do sistema de referência desse vetor, já que seu
comprimento permanece constante seja qual for o referencial utilizado. É possível comprovar,
também, que o triplo produto ωTIω permanece constante qualquer que seja o sistema de
referência adotado (não assim cada vetor individualmente). Por isso podemos computar a
matriz de inércia do corpo I com respeito ao referencial inercial solidário com o centro de
massa do corpo, para que I independa do movimento deste. Por essa razão devemos
considerar o vetor ω também referido a esse sistema inercial. Para considerar o vetor referido
ao referencial inercial fixo, não devemos mais que multiplicar pela matriz de rotação RTω,
sendo R a matriz de rotação que relaciona o referencial inercial com o referencial solidário
com o corpo.
Seguidamente, consideraremos um manipulador de n elos.
No capítulo 2 vimos que as velocidades linear e angular podem ser expressadas em
relação das derivadas com respeito ao tempo das coordenadas generalizadas através da matriz
jacobiana:
v ci = J vi (q)q& ωi = 0i R T J ωi (q)q&
57
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
Supondo que a massa do elo i é mi, que a matriz de inércia avaliada ao longo das
coordenadas não inerciais com origem no centro de massa do corpo é Ii, podemos expressar a
energia cinética do manipulador como um todo (o que eqüivale à soma das energias cinéticas
de cada elo):
K=
1 T n
2
[ T T
]
q& ∑ m i J v ci (q)J v ci (q) + J ωi (q) 0i RI i 0i R T J ωi (q) q& =
i =1
1
= q& T D(q)q&
2
(3.7)
Onde essa matriz D(q) é chamada matriz de inércia do manipulador (não confundir com
a matriz Ii de inércia de cada elo). Uma das características dessa matriz é que é simétrica
positiva definida, como pode ser deduzido da sua definição, e que seus coeficientes dependem
das coordenadas generalizadas, porque tanto os jacobianos como as matrizes de rotação
dependem.
Seguidamente, consideraremos a energia potencial do manipulador. A única fonte de
energia potencial no caso de dinâmica de corpos rígidos, é a gravidade. Seja g o vetor de
aceleração gravitacional expressado no referencial inercial, a energia potencial do elo i é:
Vi = ∫ g T ri ∂m i = g T ∫ ri ∂m i = g T rci m i ⇒ Vi = Vi (q)
B B
(3.8)
sendo rci a posição do centro de massa do elo i expressado no referencial inercial. Por
depender a energia potencial da posição do centro de massa, depende também das
coordenadas generalizadas, mas não da derivada deste vetor, isto é, a energia potencial, como,
aliás é intuitivo, depende da posição de cada junta mas não da velocidade desta. A energia
potencial total do manipulador não é outra que a soma das energias potenciais de cada elo.
58
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
[
D(q) = d ij (q) ⇒ K = ] 1 n n
∑∑ d ij (q)q& i q& j
2 i =1 j=1
1 n
L =K−V = ∑ d ij (q)q& i q& j − V(q)
2 i , j=1
∂L n
∂ ∂L n n
∂d n n
∂d (q)
= ∑ d ik (q)q& i ⇒ = ∑ d ik (q)&q& i + ∑ ik q& i = ∑ d ik (q)&q& i + ∑ ik q& j q& i
∂q& k i =1 ∂t ∂q& k i =1 i =1 ∂t i =1 i , j=1 ∂q j
∂L 1 n ∂d ij (q) ∂V(q)
= ∑ q& i q& j −
∂q k 2 i , j=1 ∂q k ∂q k
para k∈[1..n], onde consideramos a simetria de D(q) (razão pela qual desaparece o fator
½, já que dik=dki), consideramos que V depende do vetor q mas não da sua derivada, e
aplicamos a regra da cadeia na expressão ∂dik/∂qj.
Assim, a equação de Euler-Lagrange do manipulador pode ser escrita:
(3.9)
Mudando a ordem dos somandos e valendo-se da simetria de D(q), é simples
demonstrar que:
n ∂d kj 1 n ∂d kj ∂d ki
∑ ∂q q& i q& j = ∑ + ∂q q& i q& j
2 i , j=1 ∂q i
i , j=1 i j
n
∂d kj 1 ∂d ij n
1 ∂d kj ∂d ki ∂d ij
∑
i , j=1 ∂q i
− i j ∑
2 ∂q k
q
& q
& =
i , j=1 2 ∂q
+
∂q
−
∂q
q& i q& j
i j k
59
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
os termos
1 ∂d kj ∂d ki ∂d ij
c ijk = + −
2 ∂q i ∂q j ∂q k
são conhecidos como símbolos de Cristoffel de primeira classe. Note-se que, para um k
fixo cijk = cjik, o que reduz o esforço computacional para o cálculo destes termos.
Finalmente, definindo
φk = ∂V(q) / ∂qk
chega-se a:
n n
1 ∂d kj ∂d ki ∂d ij
∑ d ki (q)q i + ∑
&&
2
i , j=1 ∂q
+
∂q
−
∂q
q& i q& j + φ k (q) = τ k k = 1..n
k
144424443
i =1 i j
c ijk
(3.10)
Esta equação envolve três tipos de termos. O primeiro envolve a segunda derivada das
coordenadas generalizadas, ou acelerações das juntas (angulares ou lineares). O segundo
envolve termos quadráticos com as derivadas das coordenadas generalizadas, ou velocidades
das juntas. Dentro destes termos, existem ainda duas classes, os termos que estão
multiplicados por uma velocidade de uma junta ao quadrado, são chamados de centrífugos, ao
tempo que aqueles termos que envolvem o produto de velocidades de duas juntas diferentes,
são chamados de termos de Coriolis. O terceiro tipo de termo depende apenas de q mas não
das suas derivadas, e expressa a relação entre a energia potencial total do manipulador com a
posição de cada junta.
É comum escrever a equação anterior, para k variando entre 1 e n, em forma matricial,
onde cada uma das n linhas da matriz representa cada equação anterior para diferentes valores
de k:
60
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
n
C(q, q& ) = [c kj ] = ∑ c ijk (q)q& i
i =1
e
T
∂V ∂V ∂V
g(q) = ...
∂q 1 ∂q 2 ∂q n
(3.12)
sendo o vetor g(q) chamado de vetor de torque gravitacional, e cujas componentes
representam a variação da energia potencial com cada junta.
Esta é a equação dinâmica de um manipulador de n elos interligados por juntas.
61
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
62
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
As matrizes de rotação dos referenciais não inerciais com respeito ao referencial inercial
são, por serem ambos referenciais rotações ao redor dos eixos z:
Portanto:
l c21 0
J J =
T
vc1 vc1
0 0
l 2 + l c22 + 2l1l c 2 cos q 2 l1l c 2 cos q 2 + l c22
J Tvc 2 J vc 2 = 1
l1l c 2 cos q 2 + l c22 l c22
0 0
0 0 1
0 R J ω1 = 0
1 T
0 ⇒ J ωT1 01 R =
0 0 0
1 0
0 0
0 0 1
0 R J ω 2 = 0
2 T
0 ⇒ J ωT 2 20 R =
0 0 1
1 1
0 0
I I1yz I1zz = I1zz 0
J T 1 1
RI R J ω1 T
= 1xz 0 0
0 0 0
ω1 0 10
0 0
1 0
0 0
I 2 xz I 2 yz I 2 zz = I 2 zz I 2 zz
J ωT 2 20 RI 2 20 R T J ω2 = 0 0 I
I 2 xz I 2 yz I 2 zz I 2 zz
1 1 2 zz
63
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1 ∂d kj ∂d ki ∂d ij
[ ]
n
C(q, q& )q& = c kj = ∑ + − q& i
i =1 2 ∂
iq ∂q j ∂q k
Portanto:
2
1 ∂d 11 ∂d 11 ∂d 11 1 ∂d 11 ∂d 12 ∂d 21 1 ∂d 11
c11 = ∑ c i11q& i = + − q& 1 + + − q& 2 = q& 2 =
i =1 2 ∂q 1 ∂q 1 ∂q 1 2 ∂q 2 ∂q 1 ∂q 1 2 ∂q 2
= − m 2 l1l c 2 sen q 2 q& 2
2
1 ∂d 12 ∂d 11 ∂d 12 1 ∂d 12 ∂d 12 ∂d 22
c12 = ∑ c i 21q& i = + − q& 1 + + − q& 2 =
i =1 2 ∂q 1 ∂q 2 ∂q 1 2 ∂q 2 ∂q 2 ∂q 1
1 ∂d 11 ∂d 1 ∂d 22
= q& 1 + 12 − q& 2 = − m 2 l1l c 2 sen q 2 (q& 1 + q& 2 )
2 ∂q 2 ∂q 2 2 ∂q 1
2
1 ∂d 21 ∂d 21 ∂d 11 1 ∂d 21 ∂d 22 ∂d 21 1 ∂d 11
c 21 = ∑ c i12 q& i = + − q& 1 + + − q& 2 = − q& 1 =
i =1 2 ∂q 1 ∂q 1 ∂q 2 2 ∂q 2 ∂q 2 ∂q 2 2 ∂q 2
= m 2 l1l c 2 sen q 2 q& 1
2
1 ∂d 22 ∂d 21 ∂d 12 1 ∂d 22 ∂d 22 ∂d 22
c 22 = ∑ c i 22 q& i = + − q& 1 + + − q& 2 = 0
i =1 2 ∂q 1 ∂q 2 ∂q 2 2 ∂q 2 ∂q 2 ∂q 2
c c12
sendo C(q, q& ) = 11
c 21 c 22
64
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
A equação dinâmica (3.11) está no espaço das juntas, ou em função das coordenadas
generalizadas q e suas derivadas. Estas coordenadas se relacionam com a posição do punho,
sua velocidade e aceleração a través das equações da cinemática inversa, como foi descrito no
capítulo anterior. Portanto, sabendo a trajetória ou posição real ou desejada do punho do
manipulador, através destas equações, podemos conhecer a trajetória ou posição, real ou
desejada, de cada uma das juntas.
Mas também é possível levar a equação dinâmica ao espaço de trabalho, isto é, colocar
a equação (3.11) em função da posição , velocidade, e aceleração do efetuador ou punho do
manipulador. Nesta seção abordaremos uma maneira muito simples de fazer isto, nos
baseando na relação entre posição e orientação de qualquer ponto do manipulador com as
juntas dada pela matriz jacobiana.
Seja o vetor:
/ r = [x e ϕ ϑ ψ]
T
r (q) ∈ ℜ 6 ye ze
onde xe, ye, ze, são as coordenadas de posição do punho no referencial inercial, e ϕ, ϑ, Ψ
os ângulos que indicam a orientação do punho, que podem ser ângulos de Euler.
Sendo r = r (q), define-se jacobiano analítico como
65
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
T
∂r ∂r
r& = q& = J a (q)q& ⇒ J a (q) = i
∂q ∂q j
⇒ &r& = J& (q)q& + J (q)q
a
&& a
[ ]
D(q) J a−1&r& − J a−1 J& a J a−1r& + C(q, q& )J a−1r& + g (q) = τ
[ ] [ ]
⇒ J a−T D(q)J a−1 &r& + J a−T C(q, q& )J a−1 − J a−T D(q)J a−1 J& a J a−1 r& + J a−T g(q) = J a−T τ
⇒ D * (r )&r& + C * (r, r& )r& + g * (r ) = τ *
onde
D * (r ) = J a−T D(q)J a−1
C * (r, r& ) = J a−T C(q, q& )J a−1 − J a−T D(q)J a−1 J& a J a−1
g * (r ) = J a−T g (q)
τ * = J a−T τ
Observe-se que esta manipulação foi feita dessa maneira para conservar algumas das
propriedades das matrizes da equação dinâmica, entre elas, a simetria de D*(r).
A equação (3.11) considerado es efeitos dinâmicos de uma série de corpos rígidos ideais,
isto é, sem deformação pela ação de forças ou torques aplicados neles, interligados por juntas
ideais, sem atrito nem limites mecânicos; assim, são considerados apenas fatores tais como a
ação da gravidade, as acelerações centrípetas e de Coriolis, e os efeitos da inércia de cada elo.
Portanto, não considera os atritos estáticos nem dinâmicos, a dinâmica dos atuadores que
geram essa força ou torque, os distúrbios externos, entre outros fatores que poderiam ser
considerados na equação. Apresentaremos aqui apenas os principais deles.
( D (q ) + I )q
&& + C(q, q& )q& + g (q ) = τ
Isto eqüivale a considerar a inércia dos elos juntamente com a inércia dos eixos dos
atuadores, levadas, pela redução mecânica, à junta de cada elo.
2) Forças do ambiente
Seja fe ∈ ℜ6 um vetor cujas três primeira componentes representam a posição de um
vetor e as três últimas componentes são ângulos que representam a orientação das forças
externas aplicadas ao manipulador:
Isto eqüivale a considerar que o vetor de torque externo é modificado por torques
próprios de cada junta, torques que aparecem por essa força externa aplicada. A relação entre
a força externa e o torque gerado em cada junta por ela é dado pela matriz jacobiana
transposta.
∂i
L + Ri = v − K b q&
∂t
Sendo L uma matriz diagonal com as indutâncias de armadura de cada motor, R uma
matriz diagonal com as resistências de armadura de cada motor, e Kb uma matriz diagonal
com a força contra-eletromotriz vezes a redução de cada junta de cada motor. Os vetores i e v
são corrente e tensão aplicadas a cada motor.
Sendo o torque τ = Kmi, onde Km é uma matriz diagonal com a relação entre corente de
armadura e torque gerado, que é próprio do motor D.C., o modelo dinâmico fica
67
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
4) Distúrbios externos
Quando o manipulador é submetido a distúrbios externos de natureza desconhocida, tais
como ruído ou outras perturbações do ambiente, se estas perturbações podem se representar
como um vetor d(t) cujas componentes representam o distúrbio sofrido por cada junta, este
pode se considerar no modelo dinâmico como:
68
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
CAPÍTULO IV
1.1. INTRODUÇÃO
Controlar um sistema automatizado consiste em, simplesmente, fazer com que este
tenha o comportamento desejado.
Todo sistema físico denomina-se com o nome genérico de planta. Toda planta tem um
determinado comportamento, isto é, faz uma determinada ação. Observe-se que não
necessariamente essa ação representa um movimento, muito bem o sistema físico pode ser
estático, sem qualquer elemento móvel, como seria o caso de um sistema térmico, por
exemplo. Esse comportamento denomina-se como resposta do sistema. Essa resposta está
caracterizada, em geral, por uma grandeza física que pode ser medida (temperatura, ângulo de
giro, distância de deslocamento, velocidade linear ou angular, luminosidade, pressão, entre
outras), ou ainda por uma combinação delas. A resposta do sistema será portanto uma
grandeza física mensurável, em cujo caso se trata de uma resposta escalar, ou um conjunto de
grandezas físicas mensuráveis, em cujo caso a resposta será vetorial, isto é, será caracterizada
por um vetor de grandezas escalares.
Sem perda de generalidade, é possível afirmar que essa resposta muda com o tempo,
isto é, é uma função do tempo. Mesmo que permaneça constante, não se deve esquecer que
uma constante constitui também uma função temporal.
Tratando-se de respostas escalares, serão denominadas genericamente com a função
y(t), explicitando a dependência da variável temporal; e se tratando de respostas vetoriais, a
denominação genérica será y(t). A negrita explicita a característica vetorial de uma variável.
Também se denomina a resposta de um sistema com o nome de sinal de saída desse
sistema.
Muitas plantas, para funcionar, isto é, para gerar uma determinada resposta, precisam de
uma ação concreta aplicada nelas. Essa ação pode ser uma força, uma energia elétrica, calor,
ou qualquer outro tipo de energia aplicada. Em geral, essa ação também estará caracterizada
por uma grandeza física mensurável, ou bem por um conjunto delas. Essa ação aplicada no
69
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
70
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
desejada da planta. Assim, o objetivo do controlador, idealmente, é gerar uma excitação u(t)
tal que a resposta da planta y(t) seja igual a essa referência r(t).
Em muitos sistemas automatizados se utilizam controladores mecânicos (por exemplo em
alguns sistemas com auto-regulagem de velocidade), ou circuitos eletrônicos, ativos ou
passivos. Mas o mais comum, pelo menos em sistemas de alguma complexidade como no
caso dos robôs manipuladores, é utilizar algum tipo de processador digital como controlador.
Os controladores podem ser microprocessadores, microcontroladores, computadores ou
controladores industriais mais específicos como é o caso dos controladores lógicos
programáveis ou CLP, muito utilizados nas indústrias de manufatura.
Em geral, nos controladores digitais, a entrada de referência não é um sinal externo, mas
uma referência estabelecida por software ou introduzida através de um dispositivo periférico.
A informação sobre a amplitude da referência ou a variação dessa função com o tempo pode
estar determinada pelo programa de controle, ou bem introduzida pelo usuário através de
algum dispositivo de entrada de informação (mouse, teclado, joystick).
O programa de controle determina a estratégia a seguir para conseguir que a resposta do
sistema acompanhe a referência o mais fielmente possível. Para implementar esta estratégia,
na maioria dos sistemas de alguma complexidade, o controlador precisa conhecer a resposta
da planta. Esta é fornecida através de sensores, ou dispositivos que transformam as grandezas
físicas que caracterizam o comportamento da planta num sinal elétrico que o controlador
possa ler através de interfaces adequadas. Assim, no caso dos robôs manipuladores, os
sensores mais utilizados são os encoders óticos incrementais, que transformam a posição de
cada junta em dois trens de pulsos de uma resolução adequada.
Em geral, o programa de controle não precisará saber o valor da referência e da resposta
a cada instante de tempo, mas apenas sua diferença, ou sinal de erro do sistema e(t). O
objetivo da estratégia de controle é que este sinal de erro tenda para zero, gerando o
controlador uma excitação no sentido adequado para conseguir diminuir ou aumentar a
resposta da planta até zerar o erro.
Nos casos em que a entrada do controlador é o sinal de erro, é introduzida no
controlador a resposta da planta realimentada e a referência (caso ela deva ser introduzida
externamente), que o processador calcula por software o valor do erro, e processa também por
software esse sinal para calcular o valor do sinal de excitação que deverá entregar para ser
aplicado na planta.
Na seguinte figura apresenta-se um diagrama de blocos que representa um sistema de
controle completo realimentado negativamente.
71
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
y(t)
sensores
Em muitos casos, é impossível para o controlador fazer com que a resposta da planta
seja exatamente igual à referência. Por exemplo, suponha-se que esse sinal de referência
indica a posição do punho do manipulador. Se ele tiver uma mudança instantânea,
obviamente, o mesmo não acontecerá com a resposta do sistema, pois uma mudança
instantânea de posição implica aceleração infinita e, portanto, energia infinita, o que nenhuma
fonte de alimentação real pode fornecer.
Por esse motivo, em geral o projetista define uma série de condições ou especificações
técnicas, dentro das quais deseja que a resposta se mantenha.
Entende-se por especificações técnicas o conjunto de requerimentos ou exigências
especificadas pelo usuário do sistema com respeito ao comportamento dele. Em geral, uma
primeira especificação técnica mínima exigida é que o sistema seja estável; se o sistema não
for naturalmente, o controle do sistema deverá procurar que se comporte como tal. Uma outra
especificação pode ser o percentual de overshoot, ou relação entre o valor máximo da resposta
por cima do seu valor final, e o valor final dela (valor quando t→∞). O usuário pode desejar
que esse valor não ultrapasse um determinado limite máximo para não danificar o sistema
total. Inclusive pode desejar que o sistema não tenha overshoot nenhum. Uma outra
especificação pode estar referida ao tempo de estabelecimento da resposta, ou tempo no qual a
resposta vai demorar para se estabelecer dentro do 10% ao redor do valor final. Também o
tempo de crescimento da resposta pode estar dentro das especificações técnicas, ou tempo em
que a resposta vai demorar em chegar de um 10% até um 90% do seu valor máximo. O
usuário pode querer que esse tempo não ultrapasse um determinado limite, pois no caso
72
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
contrário a resposta seria lenta demais para os requerimentos necessários para uma
determinada aplicação.
73
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
74
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
q& d = q
&& d = 0
Observe-se que os dois primeiros termos correspondem a uma compensação do tipo PD,
onde se realimenta o erro de posição, e o erro de velocidade (ou a derivada de q, já que a
velocidade desejada é zero). A compensação do torque gravitacional tem sua explicação
porque, atingida a posição desejada com velocidade nula, objetivo do controle ponto a ponto,
os dois primeiros termos seriam zero, e o peso dos elos provocariam que o braço caísse,
dando um erro de estado estacionário. Se o manipulador estiver posicionado na horizontal, a
energia potencial V(q)=0 e portanto g(q)=0, devido ao peso ser anulado pela reação do plano.
A dinâmica do sistema em malha fechada fica:
~ − K q& + g(q)
&& + C(q, q& )q& + g(q) = − K p q
D(q)q d
75
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
~=0
q
Observe-se que, para implementar esta lei de controle, é preciso realimentar a posição e
a velocidade de cada junta. Se o manipulador não possuir tacômetros nestas, é preciso estimar
a velocidade , por exemplo derivando a posição com respeito ao tempo, embora este seja um
processo ruidoso. Também, se bem não é preciso conhecer a dinâmica do manipulador, pelo
menos as cosntantes físicas que fazem parte das componentes do vetor de torque
gravitacional. Se estas constantes fossem desconhecidas, esta lei não pode ser implementada.
g(q)
qd q~ q q&
+ -+
Kp manipulador ∂q/∂t
-
-
Kd
encoders
76
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
&& + C(q, q& )q& + g (q) = D(q) v + C(q, q& )q& + g (q)
D(q)q
⇒v=q &&
por ser D(q) simétrica positiva definida, sempre existe matriz inversa para qualquer
valor do vetor q.
Assim, a dinâmica em malha fechada fica um simples sistema linear de segunda ordem.
A lei de controle externa, é escolhida como:
v=q ~& − λ2 q
&& d − 2λ q ~
com o que a dinâmica do sistema em malha fechada fica
&& = q
q ~& − λ2 q
&& − 2λq ~ ⇒ q ~ ~& + λ2 q
&& + 2λ q ~=0
d
77
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
q d q& d q
&& d q q&
~& − λ2 q
&& d − 2λq ~ v Dv + Cq + g τ manipulador
q
Figura 4.4: Duas malhas de realimentação para controle de trajetória por torque computado
sensores de força no punho, a trajetória é controlada normalmente mas apenas em dois eixos
do referencial não inercial solidário com o efetuador, de maneira que se controla apenas o
deslocamento do efetuador sobre esta superfície. Sobre o terceiro eixo, é controlada a força
que o efetuador exerce sobre esta superfície, e não mais a trajetória. Havendo um vetor de
força de referência, ou força desejada, e um vetor de resposta de força dado por estes
sensores, por exemplo um controle PD pode cuidar que o erro entre a força de contato
desejada e a força real aplicada tenda assintoticamente para zero, mas apenas sobre este eixo,
permitindo assim o manipulador se deslocar sobre a superfície exercendo a força adequada
para a aplicação.
A figura seguinte representa um diagrama de blocos do controle híbrido.
79
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
1 0 0 0 0 0
S x = 0 0 0 e S f = 0 1 0
0 0 1 0 0 0
De maneira tal que nos eixos x e z se exerce o controle de trajetória normal, e no eixo y
se exerce o controle de força.
80
Curso de Especialização em Engenharia Mecatrônica - Robótica Industrial
Prof. Fernando Pazos
BIBLIOGRAFIA
• Fu, González, Lee: Control, sensing, vision and intelligens. Mc. Graw – Hill. New
York. 1997.
• Spong, M. e Vidyasagar, M.: Robot dynamic and control. Wiley. New York. 1989.
• Craig, J. J.: Introduction to robotics, mechanics and control. Addison – Wesley
publishing company. 1986.
• Slotine, J.J. e Li, W.: Applied nonlinear control. Prentice-Hall. New Jersey. 1991.
• Critchlow, Arthur: Introduction to robotics. Macmillan publishing company. New
York. 1985.
• Kuo, B. C.: Automatic control systems. Prentice – Hall, Englewood Cliff, 4° ed. NJ.
1982.
• Groover, Weiss, Nagel e Odrey: Robótica, tecnologia e programação. Mc. Graw –
Hill. São Paulo. 1989.
• Nof, Shimon: Handbook of industrial robotics. John Wesley and sons. USA. 1985.
• Salant, Michael: Introdução à Robótica. Mc. Graw – Hill. São Paulo. 1991.
• Ullrich, Roberto: Robótica, uma introdução. Editora Campus. Rio de Janeiro. 1987.
• Paul, Richard: Robot manipulators. Mathematics, programming and control. The
MIT Press. Massachusetts. 1982.
• ORT Open Tech Robotics Literacy Course. Robot coordinate systems. World ORT
Union Technical Department. London. 1984.
• ORT Open Tech Robotics Literacy Course. Robot versatility. World ORT Union
Technical Department. London. 1984.
• Pazos, Fernando: Controle adaptativo/robusto em modo dual para robôs
manipuladores. Tese de M.Sc., COPPE/UFRJ, Rio de Janeiro, RJ, Brasil, 2000.
• Pazos, Fernando: Automação de sistemas e robótica. Axcel Books do Brasil. Rio de
Janeiro. 2002.
81
Apêndice: Modelo dinâmico de braços
mecânicos
1
1 Equação dinâmica de um robô de 2 DOF
2
A partir do desenho, podemos deduzir as coordenadas do centro de massa:
xc1 = 0
c1 yc = 0
1
zc1 = lc1
xc2 = lc2 cos q2 cos q1
c2 yc = lc2 cos q2 sin q1 (1)
2
zc2 = lc2 sin q2 + l1
Derivando (1):
ẋc1 = 0 0 0
q̇1
vc1 ẏc = 0 ⇒ vc1 = 0 0
1 q̇2
żc1 = 0 0 0
ẋc2 = −lc2 sin q1 cos q2 q̇1 − lc2 cos q1 sin q2 q̇2
vc2 ẏc2 = lc2 cos q1 cos q2 q̇1 − lc2 sin q1 sin q2 q̇2
żc2 = lc2 cos q2 q̇2
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2
q̇1
⇒ vc2 = lc2 cos q1 cos q2 −lc2 sin q1 sin q2 (2)
q̇2
0 lc2 cos q2
0 0
Jvc1 = 0 0 (3)
0 0
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2
Jvc2 = lc2 cos q1 cos q2 −lc2 sin q1 sin q2
0 lc2 cos q2
3
0 0 0
q̇1
̟c1 = q̇1 k̆0 = 0 q̇1 = 0 0
= J̟c1 q̇
q̇2
1 1 0
q̇2 sin q1
̟c2 = q̇1 k̆0 + q̇2 sin q1 ĭ0 − q̇2 cos q1 j̆0 = −q̇2 cos q1
q̇1
0 sin q1
q̇1
= 0 − cos q1 = J̟c2 q̇ (4)
q̇2
1 0
• Matrizes de rotação
ĭ1 ĭ0 j̆1 ĭ0 k̆1 ĭ0 cos q1 − sin q1 0
R01 = ĭ1 j̆0 j̆1 j̆0 k̆1 j̆0 = sin q1
cos q1 0
ĭ1 k̆0 j̆1 k̆0 k̆1 k̆0 0 0 1
ĭ2 ĭ1 j̆2 ĭ1 k̆2 ĭ1 cos q2 0 − sin q2
R12 = ĭ2 j̆1 j̆2 j̆1 k̆2 j̆1 =
0 1 0
ĭ2 k̆1 j̆2 k̆1 k̆2 k̆1 sin q2 0 cos q2
cos q1 cos q2 − sin q1 − cos q1 sin q2
R02 1 2
= R0 R1 = sin q1 cos q2 cos q1
− sin q1 sin q2 (5)
sin q2 0 cos q2
0 0
q̇1
̟c11 = q̇1 k̆1 = 0 0
q̇2
1 0
sin q2 0
q̇1
̟c22 = q̇1 sin q2 ĭ2 + q̇1 cos q2 k̆2 − q̇2 j̆2 = 0 −1 (6)
q̇2
cos q2 0
4
0 0 0 0
q̇1 1 q̇1
̟c10 = 0
0 = R0 0 0 = R01 ̟c11
q̇2 q̇2
1 0 1 0
0 sin q1 sin q2 0
q̇1 2 q̇1
̟c20 = 0
− cos q1 = R0 0 −1 = R01 ̟c22
q̇2 q̇2
1 0 cos q2 0
2
X T
D(q) = [mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci ]
n=1
5
tendo em conta que a matriz I é simétrica e que 2 sin α cos α = sin(2α) :
I211 sin2 q2 + I213 sin(2q2 ) + I233 cos2 q2 −I212 sin q2 − I232 cos q2
=
−I212 sin q2 − I232 cos q2 I222
Somando todos os termos:
d11 d12
D(q) = (7)
d21 d22
sendo:
d11 = m2 lc22 cos2 q2 + I133 + I211 sin2 q2 + I213 sin(2q2 ) + I233 cos2 q2
d12 = −I212 sin q2 − I232 cos q2 = d21
d22 = m2 lc22 + I222
onde, segundo (??):
R R R
I133 = m1 (x2 + y 2)∂m ; I211 = m2 (y 2 + z 2 )∂m ; I213 = − m2 xz∂m ;
R R R
I233 = m2 (x2 + y 2 )∂m ; I212 = − m2 xy∂m ; I232 = − m2 yz∂m ; I222 =
R
m2
(x2 + z 2 )∂m
1.2 Matriz C
Segundo o cálculo dos coeficientes de Cristoffel:
2
X 1 ∂dkj ∂dki ∂dij
Ckj = + − q̇i
i=1
2 ∂qi ∂qj ∂qk
Desenvolvendo-a
h para cada componente
i h da matriz: i
C11 = 2 ∂q1 + ∂q1 − ∂q1 q̇1 + 2 ∂q2 + ∂d
1 ∂d11 ∂d11 ∂d11 1 ∂d11 12
∂q1
− ∂d21
∂q1
q̇2 = 1 ∂d11
2 ∂q1 1
q̇ +
1 ∂d11
2 ∂q2 2
q̇
= 12 2[(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 (cos2 q2 − sin2 q2 )]q̇2
= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 (cos2 q2 − sin2 q2 )]q̇2
= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇2
h i h i
1 ∂d12 ∂d11 ∂d12 1 ∂d12 ∂d12 ∂d22 1 ∂d11
C12 = 2 ∂q1
+ ∂q2
− ∂q1
q̇1 + 2 ∂q2
+ ∂q2
− ∂q1
q̇2 = 2 ∂q2 1
q̇ +
∂d12
∂q2 2
q̇
= [(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇1 + (−I212 cos q2 +
I232 sin q2 )q̇2
h i h i
C21 = 2 ∂q1 + ∂q1 − ∂q2 q̇1 + 2 ∂q2 + ∂q1 − ∂q2 q̇2 = − 21 ∂d
1 ∂d21 ∂d21 ∂d11 1 ∂d21 ∂d22 ∂d21 11
∂q2 1
q̇
= −[(−m2 lc22 + I211 − I233 ) sin q2 cos q2 + I213 cos(2q2 )]q̇1
h i h i
C22 = 2 ∂q1 + ∂q2 − ∂q2 q̇1 + 2 ∂q2 q̇2 = 21 ∂d
1 ∂d22 ∂d21 ∂d12 1 ∂d22 22
∂q2 2
q̇ = 0
6
C11 C12
C(q, q̇) = (8)
C21 C22
Podemos comprovar que (Ḋ − 2C) = −(Ḋ − 2C)T , demonstrando a
antissimetria mencionada.
7
2 Equação dinâmica de um robô de 3 DOF
8
ombro e o cotovelo.
xc1 = 0
c1 yc = 0
1
zc1 = lc1
xc2 = lc2 cos q1 cos q2
c2 yc = lc2 sin q1 cos q2
2
zc2 = l1 + lc2 sin q2
xc3 = (lc3 cos(q2 + q3 ) + l2 cos q2 ) cos q1
c3 yc = (lc3 cos(q2 + q3 ) + l2 cos q2 ) sin q1 (11)
3
zc3 = l1 + l2 sin q2 + lc3 sin(q2 + q3 )
Derivando
(11):
ẋc1 0
vc1 = ẏc1 = 0 =⇒ Jvc1 = 0
żc 0
1
ẋc2 −lc2 sin q1 cos q2 q̇1 − lc2 cos q1 sin q2 q̇2
vc2 = ẏc2 = lc2 cos q1 cos q2 q̇1 − lc2 sin q1 sin q2 q̇2 =
żc2 lc2 cos q2 q̇2
−lc2 sin q1 cos q2 −lc2 cos q1 sin q2 0 q̇1
= lc2 cos q1 cos q2 −lc2 sin q1 sin q2 0 q̇2 = Jvc2 q̇
0 lc2 cos q2 0 q̇3
ẋc3
vc3 = ẏc3 =
żc3
−lc3 sin q1 cos(q2 + q3 )q̇1 − lc3 cos q1 sin(q2 + q3 )(q̇2 + q̇3 )−
−l2 sin q1 cos q2 q̇1 − l2 cos q1 sin q2 q̇2
lc3 cos q1 cos(q2 + q3 )q̇1 − lc3 sin q1 sin(q2 + q3 )(q̇2 + q̇3 )+ =
+l 2 cos q 1 cos q2 q̇1 − l2 sin q1 sin q2 q̇2
l2 cos q2 q̇2 + lc3 cos(q2 + q3 )(q̇2 + q̇3 )
−lc3 sin q1 cos(q2 + q3 ) − l2 sin q1 cos q2 −lc3 cos q1 sin(q2 + q3 ) − l2 cos q1 sin q2
lc3 cos q1 cos(q2 + q3 ) + l2 cos q1 cos q2 −lc3 sin q1 sin(q2 + q3 ) − l2 sin q1 sin q2
0 l2 cos q2 + lc3 cos(q2 + q3 )
9
−lc3 cos q1 sin(q2 + q3 ) q̇1
−lc3 sin q1 sin(q2 + q3 ) q̇2 = Jvc3 q̇
lc3 cos(q2 + q3 ) q̇3
(12)
0 0 0 0 q̇1
̟c1 = 0 = 0 0 0 q̇2 = J̟c1 q̇ (13)
q̇1 1 0 0 q̇3
q̇2 sin q1 0 sin q1 0 q̇1
̟c2 = −q̇2 cos q1 = 0 − cos q1 0 q̇2 = J̟c2 q̇
q̇1 1 0 0 q̇3
(q̇2 + q̇3 ) sin q1 0 sin q1 sin q1 q̇1
̟c3 = −(q̇2 + q̇3 ) cos q1 = 0 − cos q1 − cos q1 q̇2 = J̟c3 q̇
q̇1 1 0 0 q̇3
• Matrizes de rotação
10
ĭ1 ĭ0 j̆1 ĭ0 k̆1 ĭ0 cos q1 − sin q1 0
R01 = ĭ1 j̆0 j̆1 j̆0 k̆1 j̆0 = sin q1 cos q1 0 (14)
ĭ1 k̆0 j̆1 k̆0 k̆1 k̆0 0 0 1
ĭ2 ĭ1 j̆2 ĭ1 k̆2 ĭ1 cos q2 0 − sin q2
R12 = ĭ2 j̆1 j̆2 j̆1 k̆2 j̆1 = 0 1 0
ĭ2 k̆1 j̆2 k̆1 k̆2 k̆1 sin q2 0 cos q2
ĭ3 ĭ2 j̆3 ĭ2 k̆3 ĭ2 cos q3 0 − sin q3
R23 = ĭ3 j̆2 j̆3 j̆2 k̆3 j̆2 = 0 1 0
ĭ3 k̆2 j̆3 k̆2 k̆3 k̆2 sin q3 0 cos q3
ĭ2 ĭ0 j̆2 ĭ0 k̆2 ĭ0 cos q2 cos q1 − sin q1 − sin q2 cos q1
R02 = ĭ2 j̆0 j̆2 j̆0 k̆2 j̆0 = cos q2 sin q1 cos q1 − sin q2 sin q1 =
ĭ2 k̆0 j̆2 k̆0 k̆2 k̆0 sin q2 0 cos q2
= R01 R12
ĭ3 ĭ0 j̆3 ĭ0 k̆3 ĭ0
R03 = ĭ3 j̆0 j̆3 j̆0 k̆3 j̆0 =
ĭ3 k̆0 j̆3 k̆0 k̆3 k̆0
cos(q2 + q3 ) cos q1 − sin q1 − sin(q2 + q3 ) cos q1
= cos(q2 + q3 ) sin q1 cos q1 − sin(q2 + q3 ) sin q1 = R02 R23
sin(q2 + q3 ) 0 cos(q2 + q3 )
0 0 0 0 q̇1
̟c11 = q̇1 k̆1 = 0 = 0 0 0 q̇2
q̇1 1 0 0 q̇3
sin q2 0 0 q̇1
̟c22 = −q̇2 j̆2 + q̇1 sin q2 ĭ2 + q̇1 cos q2 k̆2 = 0 −1 0 q̇2
cos q2 0 0 q̇3
̟c33 = −(q̇2 + q̇3 )j̆3 + q̇1 sin(q2 + q3 )ĭ3 + q̇1 cos(q2 + q3 )k̆3
sin(q2 + q3 ) 0 0 q̇1
= 0 −1 −1 q̇2 (15)
cos(q2 + q3 ) 0 0 q̇3
11
cos q1 − sin q1 0 0 0 0 q̇1 0 0 0 q̇1
R01 ̟11 = sin q1 cos q1 0 0 0 0 q̇2 = 0 0 0 q̇2 =
0 0 1 1 0 0 q̇3 1 0 0 q̇3
̟10
cos q2 cos q1 − sin q1 − sin q2 cos q1 sin q2 0 0 q̇1
R02 ̟22 = cos q2 sin q1 cos q1 − sin q2 sin q1 0 −1 0 q̇2 =
sin q2 0 cos q2 cos q2 0 0 q̇3
0 sin q1 0 q̇1
= 0 − cos q1 0 q̇2 = ̟20
1 0 0 q̇3
cos(q2 + q3 ) cos q1 − sin q1 − sin(q2 + q3 ) cos q1
R03 ̟33 = cos(q2 + q3 ) sin q1 cos q1 − sin(q2 + q3 ) sin q1
sin(q2 + q3) 0 cos(q2 + q3 )
sin(q2 + q3 ) 0 0 q̇1 0 sin q1 sin q1 q̇1
0 −1 −1 q̇2 = 0 − cos q1 − cos q1 q̇2 =
cos(q2 + q3 ) 0 0 q̇3 1 0 0 q̇3
̟30
3 h
X i
T
D(q) = mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci
i=1
12
sin q2 0 0
= 0 −1 0
cos q2 0 0
cos(q2 + q3 ) cos q1 cos(q2 + q3 ) sin q1 sin(q2 + q3 )
T
R03 J̟c3 = − sin q1 cos q1 0
− sin(q2 +q3 ) cos
q1 − sin(q2 + q3 ) sin q1 cos(q2 + q3 )
0 sin q1 sin q1 sin(q2 + q3 ) 0 0
0 − cos q1 − cos q1 = 0 −1 −1
1 0 0 cos(q2 + q3 ) 0 0
0 0 1 I111 I112 I113 0 0 0 I133 0 0
T
J̟T c1 R01 I1 R01 J̟c1 = 0 0 0 I121 I122 I123 0 0 0 = 0 0 0
0 0 0 I131 I132 I133 1 0 0 0 0 0
sin q2 0 cos q2 I211 I212 I213 sin q2 0 0
T
J̟T c2 R02 I2 R02 J̟c2 = 0 −1 0 I221 I222 I223 0 −1 0
0 0 0 I231 I232 I233 cos q2 0 0
2
2
I211 sin q2 + I213 sin(2q2 ) + I233 cos q2 −I212 sin q2 − I232 cos q2 0
= −I221 sin q2 − I223 cos q2 I222 0
0 0 0
sin (q2 + q3 ) 0 cos (q2 + q3 ) I311 I312 I313
T
J̟T c3 R03 I3 R03 J̟c3 = 0 −1 0 I321 I322 I323 .
0 −1 0 I331 I332 I333
sin(q2 + q3 ) 0 0 t11 t12 t13
0 −1 −1 = t21 t22 t23
cos(q2 + q3 ) 0 0 t31 t32 t33
onde:
t11= I311 sin2 (q2 + q3 ) + I313 sin[2(q2 + q3 )] + I333 cos2 (q2 + q3 )
t12= − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
t13= − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
t21= − I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
t22 = I322
t23 = I322
t31 = −I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
t32 = I322
t33 = I322
Somando: P h i
=⇒ D(q) = 3i=1 mi JvTci Jvci + J̟T ci R0i Ii R0i J̟ci
T
d11 d12 d13
D(q) = d21 d22 d23 (16)
d31 d32 d33
13
onde
d11 = m2 lc22 cos2 q2 + m3 [l2 cos q2 + lc3 cos(q2 + q3 )]2 + I133 + I211 sin2 q2 +
I213 sin 2q2 +I233 cos2 q2 +I311 sin2 (q2 +q3 )+I313 sin[2(q2 +q3 )]+I333 cos2 (q2 +q3 )
d12 = −I212 sin q2 − I232 cos q2 − I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
d13 = −I312 sin(q2 + q3 ) − I332 cos(q2 + q3 )
d21 = −I221 sin q2 − I223 cos q2 − I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
d22 = m2 lc22 + m3 [lc23 + l22 + 2l2 lc3 cos q3 ] + I222 + I322
d23 = m3 [lc23 + l2 lc3 cos q3 ] + I322
d31 = −I321 sin(q2 + q3 ) − I323 cos(q2 + q3 )
d32 = m3 [lc23 + l2 lc3 cos q3 ] + I322
d33 = m3 lc23 + I322
2.2 Matriz C
Segundo o cálculo dos coeficientes de Cristoffel
3
X 1 ∂dkj ∂dki ∂dij
Ckj = + − q̇i
i=1
2 ∂qi ∂qj ∂qk
Desenvolvendo-a para cada componente da matriz:
C11 = 21 ∂d 11
∂q1 1
q̇ + 21 ∂d 11
∂q2 2
q̇ + 12 ∂d 11
∂q3 3
q̇ =
1
[−m2 lc22 −m3 l22 +I211 −I233 ] 2 sin(2q2 )q̇2 −m3 l2 lc3 sin(2q2 +q3 )q̇2 +[−m3 lc23 +
I311 − I333 ] 21 sin[2(q2 + q3 )](q̇2 + q̇3 ) + I213 cos(2q2 )q̇2 + I313 cos[2(q2 + q3 )](q̇2 +
q̇3 ) − m3 l2 lc3 cos q2 sin(q2 + q3 )q̇3
C12 = 21 ∂d 11
∂q2 1
q̇ + ∂d 12
∂q2 2
q̇ + 21 ∂d 12
∂q3 3
q̇ + 12 ∂d13
∂q2 3
q̇ =
(− 2 m2 lc2 − 2 m3 l2 + 2 I233 ) sin(2q2 )q̇1 + (− 12 m3 lc23 + 21 I311 − 12 I333 ) sin[2(q2 +
1 2 1 2 1
q3 )]q̇1 −m3 l2 lc3 sin(2q2 +q3 )q̇1 +I313 cos[2(q2 +q3 )]q̇1 +I213 cos(2q2 )q̇1 −I212 cos q2 q̇2 +
I232 sin q2 q̇2 − I312 (q̇2 + q̇3 ) cos(q2 + q3 ) + I332 sin(q2 + q3 )(q̇2 + q̇3 )
h i h i
1 ∂d11 1 ∂d13 ∂d12 1 ∂d13
C13 = 2 ∂q3 q̇1 + 2 ∂q2 + ∂q3 q̇2 + 2 ∂q3 2 q̇3 =
{−m3 l2 lc3 cos q2 sin(q2 + q3 ) + (− 21 m3 lc23 + 12 I311 − 21 I333 ) sin[2(q2 + q3 )] +
I313 cos[2(q2 + q3 )]}q̇1 + [−I312 cos(q2 + q3 ) + I332 sin(q2 + q3 )](q̇2 + q̇3 )
h i
C21 = − 21 ∂d 11
∂q2 1
q̇ + 1 ∂d21
2 ∂q3
− ∂d31
∂q2
q̇3 =
{[ 12 m2 lc22 + 21 m3 l22 − 21 I211 + 21 I233 ] sin(2q2 )+[ 12 m3 lc23 − 21 I311 + 21 I333 ] sin[2(q2 +
q3 )] + m3 l2 lc3 sin(2q2 + q3 ) − I213 cos(2q2 ) − I313 cos[2(q2 + q3 )]}q̇1
C22 = 21 ∂d 11
∂q3 3
q̇ =
−m3 l2 lc3 sin q3 q̇3
h i
C23 = 2 ∂q3 − ∂q2 q̇1 + 12 ∂d
1 ∂d21 ∂d13 22
∂q3 2
q̇ + ∂d23
∂q3 3
q̇ =
−m3 l2 lc3 sin q3 (q̇2 + q̇3 )
14
h i
C31 = − 12 ∂d11
∂q3 1
q̇ + 1
2
∂d21
∂q3
∂d31
q̇2 =
∂q2
−
{m3 l2 lc3 cos q2 sin(q2 +q3 )+(m3 lc23 −I311 +I333 ) 12 sin[2(q2 +q3 )]−I313 cos[2(q2 +
q3 )]}q̇1
h i
∂d31 ∂d12
C32 = 1
2
−
∂q2
q̇1 − 21 ∂d
∂q3
22
∂q3 2
q̇ =
m3 l2 lc3 sin q3 q̇2
C33 = 0
Com esses termos, a matriz C(q, q̇) fica:
C11 C12 C13
C(q, q̇) = C21 C22 C23 (17)
C31 C32 C33
Também podemos conferir a antisimetria de Ḋ − 2C.
3 Modelos parametrizados
Nesta seção serão colocadas as equações representativas dos modelos matemáticos
dos braços mecânicos para 2 e 3 DOF, em função dos seus parâmetros.
Como foi especificado pela propriedade 5 do capı́tulo 5, o modelo dinâmico
de um robô manipulador ideal pode se expressar:
15
onde τ é o vetor de n torques de entrada; a é o vetor de m componentes
com combinações adequadas dos parâmetros desconhecidos; e Y (q̈, q̇, q) ∈Rnxm
é a matriz de regressão.
Para o cálculo dos sinais de controle τ e para a estimação dos parâmetros
desconhecidos a, é preciso calcular a matriz Y (q̈, q̇, q). Em geral, não estão
disponı́veis os valores das acelerações das juntas, e seu cálculo implicaria
derivar as velocidades das juntas, o que na prática introduz um ruı́do que
põe em risco o desempenho do sistema. Muitos autores (ver dois exemplos
[4, cap. 9.2.1] e [1, cap. 11.3]), substituem os vetores q̈, q̇, por vetores
genéricos chamados acelerações e velocidades relativas (ou de referência) e são
representados como q̈r e q̇r e cujas grandezas não dependem das acelerações
das juntas mas de outros valores disponı́veis por meio de medições ou cálculos.
Utilizando esses vetores, é redefinida a matriz de regressão tal que:
16
Y14 = sin(2q2 )q̈r1 + cos(2q2 )(q̇2 q̇r1 + q̇1 q̇r2 )
Y15 = − sin q2 q̈r2 − cos q2 q̇2 q̇r2
Y16 = − cos q2 q̈r2 + sin q2 q̇2 q̇r2
Y17 =0
Y18 =0
Y21 = 12 sin(2q2 )q̇1 q̇r1
Y22 =0
Y23 = − 21 sin(2q2 )q̇1 q̇r1
Y24 = − cos(2q2 )q̇1 q̇r1
Y25 = − sin q2 q̈r1
Y26 = − cos q2 q̈r1
Y27 = q̈r2
Y28 = cos q2
17
Y24 = 0
Y25 = − cos[2(q2 + q3 )]q̇1 q̇r1
Y26 = cos q3 (2q̈r2 + q̈r3 ) + sin(2q2 + q3 )q̇1 q̇r1 − sin q3 [q̇3 q̇r2 + (q̇2 + q̇3 )q̇r3 ]
Y27 = − sin q2 q̈r1
Y28 = − cos q2 q̈r1
Y29 = − sin(q2 + q3 )q̈r1
Y210 = − cos(q2 + q3 )q̈r1
Y211 = q̈r2
Y212 = q̈r2 + q̈r3
Y213 = cos q2
Y214 = cos(q2 + q3 )
Y31 = 0
Y32 = 12 sin[2(q2 + q3 )]q̇1 q̇r1
Y33 = Y34 = 0
Y35 = − cos[2(q2 + q3 )]q̇1 q̇r1
Y36 = cos q3 q̈r2 + cos q2 sin(q2 + q3 )q̇1 q̇r1 + sin q3 q̇2 q̇r2
Y37 = Y38 = 0
Y39 = − sin(q2 + q3 )q̈r1
Y310 = − cos(q2 + q3 )q̈r1
Y311 = 0
Y312 = q̈r2 + q̈r3
Y313 = 0
Y314 = cos(q2 + q3 )
References
[1] Spong, M., Vidyasagar, M., Robot dynamic and control. Wiley, New
York. 1989.
[4] Slotine, J.J., Li, W., Applied nonlinear control. Prentice - Hall. 1991.
18