You are on page 1of 101

Mest rado em Aut omao, Inst rument ao e Cont rol o

Robt ica Indust rial



Textos

Modelao Cinemtica e Dinmica de
Manipuladores de Estrutura em Srie


Elaborados por:
Antnio Mendes Lopes


2001/ 2002
2
MODELAO
CINEMTICA E DINMICA
DE MANIPULADORES
DE ESTRUTURA EM SRIE
Antnio Mendes Lopes, FEUP DEMEGI, 2002
1 INTRODUO
Nas ltimas dcadas tem-se assistido a um crescente interesse pelas reas da
automao industrial e da robtica, motivado, nomeadamente, por preocupaes
relacionadas com o aumento da produtividade, reduo de horrios e segurana no
trabalho. Esse interesse tem levado diversas entidades pblicas e privadas, tais como
universidades, agncias governamentais e empresas, a efectuar investigao,
desenvolvimento e aplicaes nessas reas.
O incio da era da automao industrial remonta ao sculo XVIII, numa altura
em que as mquinas dedicadas comeavam a fazer parte do processo produtivo das
indstrias. O desenvolvimento das tcnicas de produo veio criar novas
necessidades s possveis de satisfazer com mquinas programveis e flexveis,
dando origem aos primeiros robs industriais (Klafter et al., 1989).
Foi no final dos anos sessenta, com base na experincia ento existente no
campo dos telemanipuladores e das mquinas ferramentas de comando numrico, que
George Devol construiu o primeiro rob industrial. A partir dessa data a robtica tem
vindo a afirmar-se como uma cincia autnoma, de carcter multidisciplinar,
penetrando em reas tradicionalmente ligadas s engenharias mecnica,
3
electrotcnica, de computadores e outras, revelando importncia crescente em reas
to distintas como a explorao espacial, a explorao subaqutica, a medicina ou a
indstria. alis na indstria que tem sido investido o maior esforo, sendo a
indstria automvel um bom exemplo disso; robs de pintura e de soldadura fazem
hoje parte integrante da sua fora laboral.
Genericamente, um rob manipulador, independentemente da sua potencial
aplicao, mecanicamente concebido para posicionar e orientar no espao o seu
rgo terminal: uma garra ou uma ferramenta. A sua estrutura pode variar mas,
normalmente, possvel identificar os seguintes elementos funcionais principais
(Klafter et al., 1989) (Figura 1.1):
manipulador: conjunto de corpos ligados por juntas, formando cadeias
cinemticas que definem uma estrutura mecnica. No manipulador
incluem-se os actuadores, que agem sobre a estrutura mecnica,
modificando a sua configurao, e a transmisso, que liga os actuadores
estrutura mecnica. Os termos manipulador e rob so muitas vezes
usados com a mesma finalidade, embora, formalmente, tal no esteja
correcto;
sensores: dispositivos usados para recolher e proporcionar ao
controlador informao sobre o estado do manipulador e do ambiente.
Os sensores internos fornecem informao sobre o estado do
manipulador (por exemplo, posio, velocidade ou acelerao). Os
sensores externos fornecem informao sobre o ambiente (por exemplo,
sensores de fora/momento ou cmaras de vdeo para deteco de
obstculos);
controlador: dispositivo, tipicamente baseado em microcomputador, que
controla o movimento do manipulador. Usa os modelos do manipulador
e do ambiente e a informao fornecida pelo operador e pelos sensores,
efectua as operaes algbricas de clculo necessrias e envia os sinais
de controlo aos actuadores. Poder ainda efectuar tarefas como o registo
de dados em memria e a gesto das comunicaes com o operador ou
4
com outros dispositivos que cooperem com o rob na execuo da
tarefa;
unidade de potncia: dispositivo que tem por objectivo proporcionar
energia aos actuadores. Num sistema actuado electricamente trata-se de
um conjunto de amplificadores de potncia.
Manipulador
S
e
n
s
o
r
e
s

i
n
t
e
r
n
o
s
Transmisso
Actuadores
Ambiente
S
e
n
s
o
r
e
s

e
x
t
e
r
n
o
s
Interaco
U
n
i
d
a
d
e

d
e

p
o
t

n
c
i
a
Controlador
Estrutura mecnica Modelo do manipulador
Modelo do ambiente
Algoritmo de controlo
Gerador de trajectrias
Comando
Potncia
Comando
Descrio da tarefa
Linguagem de
programao
Informao sobre o estado do manipulador
Informao sobre o ambiente
Protocolos de comunicao

Figura 1.1 Representao esquemtica da estrutura geral de um rob manipulador
integrado no seu ambiente.
Em particular, um rob industrial possui uma estrutura mais simples (Figura
1.3); a interaco com o ambiente praticamente inexistente e a programao do
rob baseia-se numa descrio imutvel quer da tarefa quer do ambiente. O
manipulador normalmente constitudo por um conjunto de corpos rgidos ligados
em srie por intermdio de juntas rotativas ou prismticas, formando uma cadeia
cinemtica aberta. Uma das extremidades do manipulador encontra-se rigidamente
ligada a uma base, enquanto que a extremidade oposta suporta o rgo terminal,
5
podendo mover-se livremente no espao. Tipicamente, o manipulador possui 6 graus
de liberdade (gdl) e composto pelo brao e pelo punho. O brao tem, em geral, 3
gdl, efectuando o posicionamento do punho. Este, normalmente, composto por 3
juntas rotativas, que utiliza para orientar o rgo terminal (3 gdl).
Note-se que cada junta, rotativa ou prismtica, confere ao manipulador um
grau de movimento (gdm). Em teoria, o manipulador poder ter uma infinidade de
gdm. O rgo terminal pode possuir um mximo de 6 gdl: 3 gdl em posicionamento e
3 gdl em orientao no espao 3D. O nmero de gdl do rgo terminal sempre
inferior ou igual ao nmero de gdm do manipulador. Se os vrios gdm estiverem
adequadamente distribudos ao longo da estrutura mecnica, o nmero de gdl do
rgo terminal ser igual ao nmero de gdm do manipulador (at ao limite de 6).
Quando o nmero de gdm superior ao nmero de gdl diz-se que o manipulador
redundante.
Muitas vezes utiliza-se a expresso grau de liberdade quando deveria utilizar-
se grau de movimento. Trata-se de um abuso de linguagem que deve ser evitado a
menos que no haja risco de confuso (Figura 1.2).

2 gdm / 2 gdl 2 gdm / 1 gdl 3 gdm 3 gdl 3 gdm 2 gdl
Figura 1.2 Graus de liberdade vs graus de movimento.
6
Manipulador
S
e
n
s
o
r
e
s

i
n
t
e
r
n
o
s
Transmisso
Actuadores
U
n
i
d
a
d
e

d
e

p
o
t

n
c
i
a
Controlador
Estrutura mecnica Modelo do manipulador
Algoritmo de controlo
Gerador de trajectrias
Comando
Potncia
Comando
Descrio da tarefa
Linguagem de
programao
Informao sobre o estado do manipulador
Protocolos de comunicao

Figura 1.3 Representao esquemtica da estrutura geral de um rob industrial.
O subsistema controlador de um rob industrial utiliza, em geral, apenas
algoritmos de controlo de posio. Trata-se, normalmente, de controladores
descentralizados, de ganhos fixos, em que cada junta possui o seu prprio servo-
sistema de controlo. Geralmente, tais controladores apresentam um desempenho
satisfatrio graas s transmisses mecnicas empregues, com factores de reduo da
ordem dos 100:1. A utilizao de tais redues leva a que as variaes inerciais
(causadas por alteraes da configurao da estrutura ou da carga manipulada),
quando referidas aos motores, surjam divididas pelo quadrado do factor de reduo.
O efeito dessa variao , assim, desprezvel. Acoplamentos dinmicos e variaes
inerciais so tratados como perturbaes (Figura 1.4) (Mendes Lopes, 2000).
7
Gerador de
trajectrias no
espao das
juntas
(cinemtica)
Controlador
junta 1
Controlador
junta 2
Controlador
junta n
Manipulador
Sensores
junta n
Sensores
junta 2
Sensores
junta 1
.
.
Posio/Velocidade
junta 1
Posio/Velocidade
junta 2
Posio/Velocidade
junta n
Trajectria
desejada no
espao
cartesiano
.
.
.
.

Figura 1.4 Diagrama representativo do subsistema de controlo de posio de um
rob industrial.
2 MODELAO CINEMTICA
No que respeita estrutura mecnica, um manipulador robtico um sistema
formado por um conjunto de corpos ligados por intermdio de juntas activas e
passivas. As juntas activas so os pontos de entrada de energia controlada no sistema.
Estas permitem o comando da estrutura, fazendo-a seguir uma trajectria no espao
operacional (cartesiano), com uma dada velocidade e acelerao, e, em certos casos,
interagir com o meio ambiente, exercendo as foras de contacto desejadas.
As transformaes de coordenadas entre o espao das juntas e o espao
operacional revestem-se de importncia fundamental no controlo de manipuladores.
De facto, na maioria dos casos os robs so controlados no espao das juntas,
8
enquanto que o planeamento e a definio das trajectrias so, normalmente,
efectuados no espao operacional. Assim, mtodos eficientes de transformao entre
os dois espaos assumem um papel relevante onde, nos ltimos anos, tem sido levada
a cabo muita investigao (Paul, 1982; Vukobratovic e Kircanski, 1986; Fu et al.,
1987).
Neste contexto, essencial o conhecimento dos modelos cinemticos de
posio e diferencial. O primeiro traduzido matematicamente por um conjunto de
equaes algbricas no lineares, permitindo determinar as relaes existentes entre a
posio das juntas activas e a posio generalizada do rgo terminal. O segundo
traduzido matematicamente por um sistema de equaes lineares que permite
relacionar as respectivas velocidades. Alm disso, atravs de consideraes que
envolvem os conceitos de trabalho e de energia, permite tambm determinar o
modelo esttico do manipulador (relao entre as foras aplicadas nas juntas e as
foras aplicadas no rgo terminal). Em qualquer dos casos o problema envolve
sempre a determinao de um jacobiano.
Relacionados com a cinemtica podem distinguir-se dois problemas: a
cinemtica directa e a cinemtica inversa.
A cinemtica directa envolve a determinao da posio (ou velocidade)
generalizada do rgo terminal a partir da posio (ou velocidade) das juntas activas.
Para manipuladores de estrutura em srie , na maioria dos casos, um problema
simples, com soluo nica.
A cinemtica inversa envolve a determinao da posio (ou velocidade) das
juntas activas a partir da posio (ou velocidade) generalizada do rgo terminal.
Normalmente, para os manipuladores de estrutura em srie um problema difcil,
para o qual nem sempre possvel encontrar soluo analiticamente. Alm disso,
normalmente, a soluo no nica.
9
2.1 CINEMTICA DE POSIO DIRECTA
Nesta seco (e respectivas sub-seces) apresenta-se o formalismo de
Denavit-Hartenberg e, com base nele, um algoritmo sistemtico para a obteno do
modelo cinemtico de posio de um manipulador de estrutura em srie. Como
exemplo efectua-se a modelao cinemtica do rob industrial TI ER 6000
1
.
2.1.1 MATRIZ DE ROTAO

Figura 2.1 Representao de um referencial fixo, OXYZ, e de um referencial mvel,
OUVW.
Considere-se a Figura 2.1. Os referenciais cartesianos OXYZ e OUVW tm a
mesma origem no ponto O. O referencial OXYZ encontra-se fixo, enquanto que o
referencial OUVW pode rodar relativamente a OXYZ. Fisicamente pode considerar-se
OUVW como estando solidrio com um corpo rgido, por exemplo, com um elo de
um rob manipulador.

1
Trata-se de um robot industrial 6R, com accionamento por motores de corrente contnua, desenvolvido pela
Texas Instruments, Inc. em 1980.
10
Sejam (i
x
, j
y
, k
z
) e (i
u
, j
v
, k
w
) os vectores unitrios segundo, respectivamente,
os eixos de OXYZ e OUVW. Um ponto p no espao pode ser representado pelas suas
coordenadas, expressas quer em OXYZ quer em OUVW. Por simplicidade, assuma-se
que p est fixo em relao a OUVW. Assim, p pode ser representado por
| |
T
w v u uvw
p p p = p (Eq. 2.1a)
em OUVW, e
| |
T
z y x xyz
p p p = p (Eq. 2.1b)
em OXYZ.
Pretende-se determinar a transformao matricial
uvw
xyz
R R= que converte as
coordenadas de p expressas em relao a OUVW, p
uvw
, nas coordenadas de p
expressas em relao a OXYZ, p
xyz
, depois do corpo solidrio com o referencial
OUVW ter sofrido uma rotao. Isto ,
p
xyz
= R p
uvw
(Eq. 2.2)
Recordando a definio de componentes de um vector, tem-se
p
uvw
= p
u
i
u
+ p
v
j
v
+ p
w
k
w
(Eq. 2.3)
onde p
u
, p
v
, p
w
representam, respectivamente, as componentes (ou as projeces) de p
segundo os eixos OU, OV e OW. Ento, usando a definio de produto escalar e a
equao (Eq. 2.3), tem-se (propriedade distributiva do produto escalar)
p
x
= i
x
p = i
x
i
u
p
u
+ i
x
j
v
p
v
+ i
x
k
w
p
w

p
y
= j
y
p = j
y
i
u
p
u
+ j
y
j
v
p
v
+ j
y
k
w
p
w
(Eq. 2.4)
p
z
= k
z
p = k
z
i
u
p
u
+ k
z
j
v
p
v
+ k
z
k
w
p
w

ou, na forma matricial,
11

(
(
(

(
(
(




=
(
(
(

w
v
u
w z v z u z
w y v y u y
w x v x u x
z
y
x
p
p
p
p
p
p
k k j k i k
k j j j i j
k i j i i i
(Eq. 2.5)
Usando esta notao, a matriz R na equao (Eq. 2.2) dada por

(
(
(




=
w z v z u z
w y v y u y
w x v x u x
k k j k i k
k j j j i j
k i j i i i
R (Eq. 2.6)
Note-se que as colunas da matriz R representam as coordenadas dos eixos principais
do referencial OUVW em relao ao referencial OXYZ, isto , representam os cosenos
directores dos eixos do referencial OUVW em relao ao referencial OXYZ. A matriz
R representa, assim, a orientao do referencial OUVW em relao ao referencial
OXYZ.
De modo semelhante podem ser obtidas as coordenadas de p
uvw
a partir das
coordenadas de p
xyz
atravs da equao matricial
p
uvw
= Q p
xyz
(Eq. 2.7)
ou

(
(
(

(
(
(




=
(
(
(

z
y
x
z w y w x w
z v y v x v
z u y u x u
w
v
u
p
p
p
p
p
p
k k j k i k
k j j j i j
k i j i i i
(Eq. 2.8)
Dado que o produto escalar comutativo, pode mostrar-se a partir das
equaes (Eq. 2.6) a (Eq. 2.8) que
Q = R
1
= R
T
(Eq. 2.9)
e
QR = R
T
R = R
1
R = I
3
(Eq. 2.10)
12
onde I
3
representa a matriz identidade de dimenso 33. As matrizes R e Q so
ortogonais.
Sendo os vectores (i
x
, j
y
, k
z
) e (i
u
, j
v
, k
w
) unitrios, as transformaes
representadas pelas equaes (Eq. 2.2) e (Eq. 2.7) so chamadas transformaes
ortonormais.
A partir daqui podem ser determinadas as transformaes que representam as
rotaes do referencial OUVW em relao aos eixos do referencial OXYZ. Se o
referencial OUVW sofrer uma rotao de um ngulo segundo o eixo OX, ento o
ponto p
uvw
de coordenadas | |
T
w v u
p p p em relao a OUVW, ter diferentes
coordenadas | |
T
z y x
p p p em relao a OXYZ. A transformao R
x,
chama-se
matriz de rotao segundo OX de um ngulo e poder ser deduzida a partir dos
conceitos desenvolvidos anteriormente. Assim, vem
p
xyz
= R
x,
p
uvw
(Eq. 2.11)
com i
x
i
u
e

(
(
(

=
(
(
(

cos sen 0
sen cos 0
0 0 1
,
w z v z u z
w y v y u y
w x v x u x
x
k k j k i k
k j j j i j
k i j i i i
R (Eq. 2.12)
De modo semelhante podem ser obtidas as matrizes de rotao segundo OY
de um ngulo e de rotao segundo OZ de um ngulo (Figura 2.2):
13

Figura 2.2a Rotao do corpo rgido da Figura 2.1 de um ngulo segundo o eixo
OX.

Figura 2.2b Rotao do corpo rgido da Figura 2.1 de um ngulo segundo o eixo
OY.
14

Figura 2.2c Rotao do corpo rgido da Figura 2.1 de um ngulo segundo o eixo
OZ.

(
(
(

cos 0 sen
0 1 0
sen 0 cos
, y
R
(
(
(


=
1 0 0
0 cos sen
0 sen cos
,


z
R (Eq. 2.13)
As matrizes R
x,
, R
y,
e R
z,
so chamadas matrizes de rotao bsicas ou
elementares. Como se ver, rotaes mais complexas podem ser tratadas custa
destas transformaes elementares.
2.1.2 COMPOSIO DE MATRIZES DE ROTAO
Viu-se na seco anterior como representar matematicamente a rotao de um
referencial OUVW segundo cada um dos eixos de um referencial fixo OXYZ.
Se, em vez de uma rotao simples em torno de um dos eixos de OXYZ, o
referencial OUVW, inicialmente alinhado com OXYZ, sofrer uma sequncia finita de
rotaes em torno desses mesmos eixos, ento essa sequncia pode ser representada
atravs do produto de vrias matrizes de rotao bsicas.
Por exemplo, a matriz que representa a rotao de OUVW de um ngulo
segundo o eixo OX, seguida da rotao de um ngulo segundo OZ e, por ltimo, da
rotao de um ngulo segundo OY
15

(
(
(

+

+
=
(
(
(

(
(
(


(
(
(

= =









S S S C C S C C S S C S
S C C C S
C S S S C C S C S S C C
C S
S C C S
S C
C S
S C
x z y
0
0
0 0 1
1 0 0
0
0
0
0 1 0
0
, , ,
R R R R
(Eq. 2.14)
onde C cos , S sen , C cos , S sen , C cos e S sen .
Uma vez que o produto de matrizes em geral no comutativo importante a
ordem pela qual so efectuadas as rotaes. Assim, a matriz de rotao anterior
diferente da matriz correspondente rotao de um ngulo segundo OY, seguida da
rotao de um ngulo segundo OZ e seguida da rotao de um ngulo segundo
OX. Para esta sequncia a matriz de rotao vem

(
(
(

+
+

=
(
(
(

(
(
(


(
(
(

= =










C C S S S C S S C C S S
C S S S C C C S S C S C
S C S C C
C S
S C
C S
S C
C S
S C
y z x
0
0 1 0
0
1 0 0
0
0
0
0
0 0 1
, , ,
R R R R
(Eq. 2.15)
Poder ainda haver interesse em representar rotaes de OUVW em torno dos
seus prprios eixos, OU, OV e OW. Assim, em geral, a matriz de rotao resultante
de uma sequncia finita de rotaes elementares pode ser obtida atravs das seguintes
regras (Fu et al., 1987):
inicialmente ambos os referenciais esto coincidentes, pelo que a matriz
de rotao a matriz identidade I
3
;
se OUVW rodar de um determinado ngulo em torno de um dos eixos de
OXYZ, deve-se pr-multiplicar a matriz de rotao, calculada at esse
momento, pela matriz de rotao bsica apropriada: (Eq. 2.12) e (Eq.
2.13);
16
se OUVW rodar de um determinado ngulo em torno de um dos seus
prprios eixos, deve-se ps-multiplicar a matriz de rotao, calculada
at esse momento, pela matriz de rotao bsica apropriada: (Eq. 2.12) e
(Eq. 2.13).
2.1.3 MATRIZ DE ROTAO SEGUNDO UM VECTOR ARBITRRIO
Em vez de uma sequncia de rotaes segundo os eixos principais de OXYZ
e/ou OUVW, o referencial OUVW pode tambm rodar de um ngulo em torno de
um vector arbitrrio r de componentes r
x
, r
y
e r
z
e passando pela origem O. Para
determinar a matriz de rotao R
r,
, em primeiro lugar, faz-se uma sequncia de
rotaes segundo os eixos principais de OXYZ, de modo a alinhar o vector r com o
eixo OZ. De seguida faz-se a rotao do ngulo em torno de r e por ltimo faz-se
uma sequncia de rotaes segundo os eixos de OXYZ, para colocar o vector r na sua
situao inicial.
Observe-se a Figura 2.3. O alinhamento de OZ com r pode ser feito atravs da
rotao de um ngulo em torno de OX (r fica no plano XZ), seguida da rotao de
um ngulo em torno de OY (r fica alinhado com OZ).

Figura 2.3 Rotao em torno de um vector arbitrrio r.
17
Depois da rotao do ngulo em torno de OZ (e de r) inverte-se a ordem das
rotaes efectuadas, com ngulos simtricos dos anteriores. A matriz de rotao R
r,

resultante vem
(
(
(

(
(
(


(
(
(


(
(
(

(
(
(

=
=












C S
S C
C S
S C
C S
S C
C S
S C
C S
S C
x y z y x r
0
0
0 0 1
0
0 1 0
0
1 0 0
0
0
0
0 1 0
0
0
0
0 0 1
, , , , , ,
R R R R R R

(Eq. 2.16)
Tendo em conta a Figura 2.3 tem-se

2 2
sen
z y
y
r r
r
+
=
2 2
cos
z y
z
r r
r
+
= (Eq. 2.17a)
sen = r
x

2 2
cos
z y
r r + = (Eq. 2.17b)
Substituindo na equao (Eq. 2.16) vem

(
(
(

+ +
+ +
+ +
=


C V r S r V r r S r V r r
S r V r r C V r S r V r r
S r V r r S r V r r C V r
z x z y y z x
x z y y z y x
y z x z y x x
r
2
2
2
,
R (Eq. 2.18)
onde V = vers = 1cos .
2.1.4 REPRESENTAO DA MATRIZ DE ROTAO (ORIENTAO)
USANDO NGULOS DE EULER
Como a dimenso de uma matriz de rotao 33, esta representao no
utiliza um conjunto mnimo de parmetros (3) para descrever a orientao de um
corpo rgido em relao a um referencial fixo. Por esse motivo so muitas vezes
usadas outras representaes, como o caso dos ngulos de Euler (3 ngulos).
18

Figura 2.4 Representao da orientao em termos de ngulos de Euler.
Existem 12 conjuntos distintos de ngulos de Euler (que dependem da
sequncia de rotaes escolhida) (Sciavicco e Siciliano, 1996). Uma das
possibilidades corresponde seguinte sequncia (Figura 2.4) (Vukobratovic e
Kircanski, 1986):
rotao de um ngulo segundo o eixo OZ (R
z,
);
rotao de um ngulo segundo o eixo rodado OV, isto , OV (R
v,
);
rotao de um ngulo segundo o eixo rodado OU, isto , OU(R
u,
).
Dado o vector de ngulos de Euler, | |
T
= , a matriz resultante
19
(
(
(

+
+
=
(
(
(

(
(
(

(
(
(


=
(
(
(

= =










C C S S S
S C C S S C C S S S C S
S S C S C C S S S C C C
C S
S C
C S
S C
C S
S C
a s n
a s n
a s n
z z z
y y y
x x x
u v z
0
0
0 0 1
0
0 1 0
0
1 0 0
0
0
, , , , ,
R R R R
(Eq. 2.19)
Esta matriz pode tambm ser definida em termos de uma sequncia de
rotaes em torno dos eixos principais do referencial fixo OXYZ: uma rotao de um
ngulo em torno de OX, seguida da rotao de um ngulo em torno de OY e de
uma rotao de um ngulo em torno de OZ.
A partir da matriz de rotao podem ser determinados os ngulos de Euler
(problema inverso). Assim, da equao (Eq. 2.19) vem
n
x
= cos cos (Eq. 2.20)
n
y
= sen cos (Eq. 2.21)
n
z
= sen (Eq. 2.22)
s
x
= cos sen sen sen cos (Eq. 2.23)
s
y
= sen sen sen + cos cos (Eq. 2.24)
s
z
= cos sen (Eq. 2.25)
a
x
= cos sen cos + sen sen (Eq. 2.26)
a
y
= sen sen cos cos sen (Eq. 2.27)
a
z
= cos cos (Eq. 2.28)
20
O ngulo pode ser obtido multiplicando ambos os membros da equao
(Eq. 2.20) por sen , multiplicando ambos os membros da equao (Eq. 2.21) por
cos e subtraindo as duas equaes, resultando
n
x
sen n
y
cos = 0 (Eq. 2.29)
e
k
n
n
x
y
+ = arctan (Eq. 2.30)
O ngulo pode ser calculado multiplicando a equao (Eq. 2.20) por cos ,
multiplicando a equao (Eq. 2.21) por sen e somando as duas, isto
n
x
cos + n
y
sen = cos (Eq. 2.31)
Combinando a equao (Eq. 2.31) com a equao (Eq. 2.22) vem


k
n n
n
y x
z
2
sen cos
arctan +
+

= (Eq. 2.32)
Quanto ao ngulo , este pode ser obtido multiplicando a equao (Eq. 2.26)
por sen , multiplicando a equao (Eq. 2.27) por cos e subtraindo as equaes:
a
x
sen a
y
cos = sen (Eq. 2.33)
Por outro lado, multiplicando a equao (Eq. 2.23) por sen , multiplicando
a equao (Eq. 2.24) por cos e somando as duas equaes resulta
s
x
sen + s
y
cos = cos (Eq. 2.34)
Combinando as equaes anteriores vem



k
s s
a a
y x
y x
2
cos sen
cos sen
arctan +
+

= (Eq. 2.35)
21
onde k um nmero inteiro.
2.1.5 PROPRIEDADES DAS MATRIZES DE ROTAO
Em resumo so apresentadas de seguida algumas propriedades das matrizes
de rotao:
as colunas da matriz de rotao representam os eixos do referencial
mvel (vectores unitrios) expressos no referencial fixo; as linhas da
matriz de rotao representam os eixos do referencial fixo (vectores
unitrios) expressos no referencial mvel;
dado que cada linha (ou cada coluna) da matriz de rotao um vector
unitrio, o seu mdulo igual a um; o determinante de uma matriz de
rotao igual a 1;
o produto interno de quaisquer duas linhas, bem como o produto interno
de quaisquer duas colunas igual a zero;
a inversa de uma matriz de rotao igual sua transposta.
2.1.6 TRANSFORMAES HOMOGNEAS
O conceito de transformao homognea til no desenvolvimento de
transformaes que incluam informao sobre rotao, translao, factor de escala e
efeito de perspectiva.
Se a um dado vector | |
T
z y x
p p p = p , no espao 3D, acrescentada uma
quarta componente, de modo a p ser transformado em | |
T
z y x
w wp wp wp = p ,
diz-se que p vem expresso em coordenadas homogneas. Nesta seco ser usado o
smbolo ^ para representar um vector atravs de coordenadas homogneas.
Posteriormente, caso no exista perigo de confuso, este smbolo ser omitido.
22
Em geral, a representao de um vector N - dimensional por um vector
(N+1) - dimensional, diz-se de representao homognea. Inversamente, o vector
N - dimensional obtm-se da sua representao em coordenadas homogneas
dividindo as coordenadas do vector (N+1) - dimensional pela componente de ordem
(N+1). Assim, no espao 3D, um vector | |
T
z y x
p p p = p representado pelo
vector aumentado | |
T
z y x
w wp wp wp = p verificando-se as relaes

w
wp
p
w
wp
p
w
wp
p
z
z
y
y
x
x
= = = (Eq. 2.36)
No existe uma representao nica para um vector em coordenadas
homogneas.
Assim, | |
T
z y x
w p w p w p w
1 1 1 1 1
= p ou | |
T
z y x
w p w p w p w
2 2 2 2 2
= p
podem ser consideradas representaes vlidas para o vector | |
T
z y x
p p p = p .
Pode ver-se deste modo que a quarta componente, w, funciona como um factor de
escala. Se o factor de escala w = 1, ento as componentes fsicas do vector so iguais
s componentes em coordenadas homogneas. Na cinemtica de robs o factor de
escala considerado sempre unitrio.
Uma matriz homognea 44 pode ser considerada como consistindo em
quatro submatrizes

(
(
(
(

=
(


escala
factor
a perspectiv
de efeito
o posi
vector
o rota
matriz
1
3 1
1 3 3 3
f
p R
T (Eq. 2.37)
A submatriz R
33
representa a matriz de rotao (i. e., a orientao do
referencial mvel em relao ao referencial fixo), a submatriz p
31
representa o
vector posio da origem do referencial mvel em relao ao referencial fixo, a
submatriz f
13
representa o efeito de perspectiva e o quarto elemento da diagonal
principal representa o factor de escala.
23
A matriz de rotao 33 pode ser aumentada para 44, transformando-se
assim numa matriz homognea, T
rot
, representando apenas a operao de rotao.
Deste modo, as matrizes de rotao (Eq. 2.12) e (Eq. 2.13) expressas em termos de
matrizes homogneas ficam

(
(
(
(

=
1 0 0 0
0 cos sen 0
0 sen cos 0
0 0 0 1
,


x
T (Eq. 2.38a)

(
(
(
(

=
1 0 0 0
0 cos 0 sen
0 0 1 0
0 sen 0 cos
,


y
T (Eq. 2.22b)

(
(
(
(


=
1 0 0 0
0 1 0 0
0 0 cos sen
0 0 sen cos
,


z
T (Eq. 2.22c)
Estas matrizes de rotao 44, so chamadas de matrizes de rotao
homogneas bsicas ou elementares.
Por outro lado, os trs primeiros elementos da quarta coluna da matriz de
transformao homognea representam a translao do referencial OUVW em relao
ao referencial OXYZ. Assim, OUVW tem eixos paralelos ao referencial OXYZ, mas a
sua origem encontra-se deslocada de (dx, dy, dz) deste referencial

(
(
(
(

=
1 0 0 0
1 0 0
0 1 0
0 0 1
dz
dy
dx
tran
T (Eq. 2.39)
Esta matriz chamada de matriz homognea de translao bsica ou elementar.
24
Em resumo, uma transformao homognea, converte um vector expresso em
coordenadas homogneas em relao a um referencial OUVW, num vector expresso
em coordenadas homogneas em relao a um referencial OXYZ (Figura 2.5). Isto ,
com w = 1,

uvw xyz
p T p = (Eq. 2.40)
e

(

=
(
(
(
(

=
1 0 0 0
1 0 0 0
p a s n
T
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
(Eq. 2.41)
k
w
P
i
x
xyz
p
j
y
k
z
j
v
i
u
uvw uvw
xyz
p R
1 O
p
O
O
1

Figura 2.5 Operaes representadas por uma transformao homognea.
2.1.7 PROPRIEDADES DAS TRANSFORMAES HOMOGNEAS
Dada uma matriz homognea T, os vectores coluna da submatriz de rotao,
representam os eixos de OUVW em relao a OXYZ. A quarta coluna da matriz de
transformao homognea representa a posio da origem do referencial OUVW em
relao ao referencial OXYZ. Por outras palavras, uma matriz homognea representa
25
a situao ou posio generalizada (posio e orientao) de um referencial mvel
em relao a um referencial fixo.
Enquanto que a inversa de uma matriz de rotao igual sua transposta, o
mesmo no se passa com uma matriz homognea. A posio da origem do referencial
OXYZ em relao ao referencial OUVW s pode ser determinada depois de ser
determinada a inversa da matriz homognea. Em geral, a inversa de uma matriz
homognea dada por

(
(
(
(
(

=
(
(
(
(
(

=

1 0 0 0 1 0 0 0
3 3 1
p a
p s R
p n
p a
p s
p n
T
T
T T
T
T
z y x
T
z y x
T
z y x
a a a
s s s
n n n
(Eq. 2.42)
Da equao (Eq. 2.42) v-se que as colunas da inversa da matriz homognea
representam os eixos principais do referencial OXYZ, em relao ao referencial
OUVW, e que a quarta coluna representa a origem do referencial OXYZ em relao ao
referencial OUVW.
2.1.8 COMPOSIO DE TRANSFORMAES HOMOGNEAS
Para representar uma sequncia finita de transformaes, as transformaes
homogneas bsicas podem ser multiplicadas sucessivamente, de modo a obter a
matriz de transformao global. Como a multiplicao de matrizes em geral no
comutativa, h que ter em conta a ordem pela qual se fazem as transformaes
bsicas. As regras que se seguem so teis para encontrar a matriz de transformao
global.
inicialmente ambos os referenciais esto coincidentes, logo a matriz
homognea ser a matriz identidade (de dimenso 44) I
4
;
se o referencial OUVW sofrer uma rotao/translao segundo um dos
eixos principais de OXYZ, ento deve-se pr-multiplicar a matriz
26
calculada at esse momento pela matriz homognea bsica apropriada:
(Eq. 2.38) e (Eq. 2.39);
se o referencial OUVW sofrer uma rotao/translao segundo um dos
seus eixos principais, ento deve-se ps-multiplicar a matriz calculada
at esse momento pela matriz homognea bsica apropriada: (Eq. 2.38)
e (Eq. 2.39).
2.1.9 CADEIA CINEMTICA
Um manipulador consiste numa sequncia de elos ligados entre si por juntas.
Essas juntas so accionadas por actuadores (motores elctricos, hidrulicos, etc.) que
lhes imprimem movimentos angulares ou lineares (Figura 2.6). Cada par junta-elo
constitui um gdm. Assim, um rob manipulador com n gdm ter que possuir n pares
junta-elo. O elo 0 (no considerado parte do rob manipulador) est fixo a uma base
de suporte, onde normalmente estabelecido um referencial inercial, e ao ltimo elo
est associada uma ferramenta de trabalho.

Figura 2.6 Um rob manipulador PUMA mostrando juntas e elos.
27
As juntas e os elos so numerados a partir da base. Assim, a junta 1
assegurar a ligao entre a base de suporte e o elo 1. Em geral, dois elos esto
ligados atravs de uma nica junta. Considerem-se seis tipos de juntas diferentes:
rotativa, prismtica, cilndrica, esfrica, parafuso e planar, representadas na Figura
2.7. Destas, apenas as rotativas e as prismticas so comuns em robs manipuladores.
Uma representao esquemtica destes dois tipos de juntas pode ser vista na Figura
2.8.

Figura 2.7 Vrios tipos de juntas.

Figura 2.8 Representao esquemtica de juntas rotativas e de juntas prismticas.
28
2.1.10 REPRESENTAO DE DENAVIT-HARTENBERG (D-H)

Figura 2.9 Parmetros de D-H.
Para descrever as relaes de translao e de rotao entre cada dois elos
adjacentes, Denavit e Hartenberg propuseram um mtodo sistemtico para atribuio
de um referencial a cada elo da cadeia cinemtica.
O mtodo de D-H conduz a uma representao baseada em transformaes
homogneas, que exprimem cada referencial (associado a cada elo) em relao ao
referencial anterior. Assim, atravs de uma sequncia de transformaes, a posio
generalizada do rgo terminal do rob manipulador (ou melhor, o respectivo
referencial) pode ser expresso em relao ao sistema de eixos da base, o qual pode
constituir o referencial inercial do sistema.
Algoritmo 2.1 (D-H) (Figura 2.9)
D1. Estabelecimento do referencial da base. Fixar um referencial
ortonormado (x
0
, y
0
, z
0
) na base de suporte, com o eixo z
0
coincidindo
com o eixo da junta 1. Os eixos x
0
e y
0
podem ser convenientemente
29
estabelecidos (de acordo com regra da mo direita) e so
perpendiculares a z
0
.
D2. Incio. Para cada i, i = 1,...,n1, executar os passos D3 a D6.
D3. Estabelecimento dos eixos das juntas. Fazer coincidir z
i
com o eixo
da junta i+1.
D4. Estabelecimento da origem do referencial i. Colocar a origem do
referencial i na interseco dos eixos z
i
e z
i1
ou na interseco da
perpendicular comum aos eixos z
i
e z
i1
e o eixo z
i
.
D5. Estabelecimento do eixo x
i
. Estabelecer
) (
) (
1
1
i i
i i
i
z z
z z
x

ou
segundo a perpendicular comum entre z
i1
e z
i
, quando estes so
paralelos (de z
i1
para z
i
).
D6. Estabelecimento do eixo y
i
. Fazer
) (
) (
i i
i i
i
x z
x z
y

+ = de modo a
completar o referencial de acordo com a regra da mo direita.
D7. Estabelecimento do referencial do rgo terminal. Estabelecer x
n

de modo a seja perpendicular a z
n1
. Se a ltima junta for rotativa,
alinhar z
n
com z
n1
. Colocar y
n
de modo a completar o referencial de
acordo com a regra da mo direita.
D8. Determinao dos parmetros. Para cada i, i = 1,...,n1, executar os
passos D9 a D12.
D9. Determinar d
i
. O parmetro d
i
a distncia da origem do referencial
i1 at interseco de z
i1
com x
i
segundo z
i1
. varivel se a junta i
prismtica.
D10. Determinar a
i
. O parmetro a
i
a distncia desde a interseco de
z
i1
com x
i
, origem do referencial i, segundo x
i
.
D11. Determinar
i
. O parmetro
i
o ngulo entre x
i1
e x
i
, segundo
z
i1
varivel se i rotativa.
30
D12. Determinar
i
. O parmetro
i
o ngulo entre z
i1
e z
i
, segundo
x
i
.
Dadas estas regras, a escolha da origem do referencial 0, a colocar na base de
suporte, livre, desde que o eixo z
0
coincida com o eixo da primeira junta. O ltimo
referencial pode tambm ser colocado em qualquer ponto do rgo terminal, desde
que o eixo x
n
seja perpendicular ao eixo z
n1
(se o rgo terminal consistir numa
pina, o ltimo referencial normalmente colocado no seu centro).
Uma vez aplicado o Algoritmo 2.1 haver que determinar uma transformao
homognea que relacione o referencial i com o referencial i1. Considerando a
Figura 2.9, pode ver-se que o referencial i sofreu as seguintes transformaes
relativamente ao referencial i1:
rotao em torno de z
i1
de um ngulo
i
, para alinhar o eixo x
i1
com o
eixo x
i
(o eixo x
i1
paralelo a x
i
, apontando no mesmo sentido);
translao segundo z
i1
, da distncia d
i
, de modo a colocar coincidentes
os eixos x
i1
e x
i
;
translao segundo x
i
, da distncia a
i
, para colocar coincidentes as
origens e os eixos x;
rotao segundo x
i
de um ngulo
i
, para tornar os dois referenciais
coincidentes.
Cada uma das quatro transformaes referidas acima pode ser descrita por
uma matriz homognea bsica e o seu produto d origem a uma matriz homognea
i
i
A
1
, conhecida por matriz de D-H para os referenciais i e i1. Assim, vem
31
(
(
(
(

=
(
(
(
(

(
(
(
(

(
(
(
(


(
(
(
(

=
=

1 0 0 0
cos sen 0
sen cos sen cos cos sen
cos sen sen sen cos cos
1 0 0 0
0 cos sen 0
0 sen cos 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1
1 0 0 0
0 1 0 0
0 0 cos sen
0 0 sen cos
1 0 0 0
1 0 0
0 0 1 0
0 0 0 1
, , , ,
1
i i i
i i i i i i i
i i i i i i i
i i
i i
i
i i
i i
i
x a x z d z i
i
d
a
a
a
d







T T T T A

(Eq. 2.43)
Usando a equao (Eq. 2.42), a inversa desta matriz
| |
(
(
(
(




= =

1 0 0 0
cos cos cos sen sen sen
sen sen cos cos sen cos
0 sen cos
1
1
1
i i i i i i i
i i i i i i i
i i i
i
i
i
i
d
d
a



A A (Eq. 2.44)
onde, para uma junta rotativa,
i
, a
i
e d
i
so constantes, enquanto que
i
varivel.
Para uma junta prismtica, a varivel d
i
, enquanto que
i
, a
i
e
i
so constantes.
Usando a matriz
i
i
A
1
pode relacionar-se um ponto p
i
, fixo a um elo i, e
expresso em coordenadas homogneas em relao a um referencial i, com um
referencial i1 estabelecido num elo i1. Isto

i i
i
i
p A p
1
1

= (Eq. 2.45)
onde p
i1
= [x
i1
y
i1
z
i1
]
T
e p
i
= [x
i
y
i
z
i
]
T
.
32
2.1.11 EQUAES DA CINEMTICA
A matriz homognea
i
T
0
, que especifica a localizao do referencial i em
relao ao referencial da base, pode ser encontrada fazendo o produto das sucessivas
transformaes
i
i
A
1
:

(

=
(

=
= = =

=

1 0 1 0 0 0
2 1 ,
0 0
1
1 1
2
1
1
0 0
i i i i i i
i
j
j
j
i
i
i
,...,n , para i
p R p z y x
A A A A T K
(Eq. 2.46)
onde
|x
i
, y
i
, z
i
| = matriz de orientao do referencial i, estabelecido no elo i,
em relao base. uma matriz com dimenso 33;
p
i
= vector de posio que aponta da origem do referencial da base, para
a origem do referencial i. um vector com dimenso 31.
Para o caso em que i = 6, vem
6
0
A T= , a qual especifica a posio e a
orientao do rgo terminal do rob em relao base. Esta matriz, de grande
importncia para a cinemtica, chamada a matriz do rob manipulador e pode ser
considerada como tendo a seguinte estrutura:

(
(
(
(

=
(

=
(

=
(

=
1 0 0 0
1 0 0 0 1 0 1 0 0 0
6
0
6
0
6 6 6 6
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
p a s n p R p z y x
T
(Eq. 2.47)
onde (Figura 2.10),
n = normal. Vector perpendicular ao rgo terminal. Assumindo um
rgo terminal como na Figura 2.10, n perpendicular aos dedos;
33
s = deslizamento. Aponta na direco do movimento dos dedos
quando o pina abre e fecha;
a = Aproximao. Aponta na direco perpendicular palma da mo;
p = Vector posio da mo. Aponta da origem do referencial da base
para a origem do referencial do rgo terminal, a qual est normalmente
localizada no seu centro.

Figura 2.10 Punho esfrico: referencial do rgo terminal e os vectores |n, s, a|.
Se o referencial da base do rob manipulador estiver relacionado com um
referencial exterior (referencial inercial) pela transformao B e tiver uma ferramenta
relacionada com o ltimo referencial pela transformao H, ento o ponto terminal
da ferramenta pode ainda ser relacionado com o sistema de coordenadas de referncia
atravs da transformao:
H T B T
6
0
=
ferr
ref
(Eq. 2.48)
Notar que
ferr
A H
6
e
0
A B
ref
.
A soluo das equaes da cinemtica directa de um rob manipulador com 6
gdl resume-se ao clculo da matriz
6
0
A T= , que conseguido multiplicando as seis
34
matrizes
i
i
A
1
, i = 1,...,6. De notar que a matriz T nica, para um dado sistema de
referenciais estabelecidos com base no algoritmo de D-H e para um dado vector de
coordenadas no espao das juntas, q = [q
1
q
2
q
3
q
4
q
5
q
6
]
T
, onde q
i
=
i
para uma
junta rotativa e q
i
= d
i
para uma junta prismtica.
Uma vez obtidas as matrizes
i
i
A
1
, como muitas necessrio calcular a
matriz T em tempo-real, h que encontrar um mtodo computacionalmente eficiente
para o efeito (Vukobratovic e Kircanski, 1986).
2.1.12 CINEMTICA DIRECTA DE ALGUNS MANIPULADORES
2.1.12.1 MANIPULADOR DE STANFORD
Trata-se de um manipulador com 6 gdl constitudo por um brao esfrico e
por um punho tambm esfrico.

Figura 2.11 Estabelecimento de referenciais para o rob manipulador Stanford.
35
Os parmetros de D-H so apresentados na Tabela 2.1.
Tabela 2.1 Parmetros de D-H para o manipulador de Stanford.
Junta
i
()
i
() a
i
d
i

1 90 90 0 d
1

2 90 90 0 d
2

3 90 0 0 d
3

4 0 90 0 0
5 0 90 0 0
6 0 0 0 d
6


As transformaes homogneas so:

(
(
(
(

=
1 0 0 0
0 1 0
0 0
0 0
1
1 1
1 1
1
0
d
C S
S C
A
(
(
(
(

=
1 0 0 0
0 1 0
0 0
0 0
2
2 2
2 2
2
1
d
C S
S C
A (Eq. 2.49)

(
(
(
(

=
1 0 0 0
1 0 0
0 0 0 1
0 0 1 0
3
3
2
d
A
(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
4 4
4 4
4
3
C S
S C
A (Eq. 2.50)

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
5 5
5 5
5
4
C S
S C
A
(
(
(
(


=
1 0 0 0
1 0 0
0 0
0 0
6
6 6
6 6
6
5
d
C S
S C
A (Eq. 2.51)
36
2.1.12.2 MANIPULADOR PUMA
Trata-se de um manipulador com 6 gdl constitudo por um brao
antropomrfico e por um punho esfrico.

Figura 2.12 Estabelecimento de referenciais para o rob manipulador Puma.
Os parmetros de D-H so apresentados na Tabela 2.2.
Tabela 2.2 Parmetros de D-H para o manipulador Puma.
Junta
i
()
i
() a
i
d
i

1 90 90 0 0
2 0 0 a
2
d
2

3 90 90 a
3
0
4 0 90 0 d
4

5 0 90 0 0
6 0 0 0 d
6

As transformaes homogneas so:
37

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
1 1
1 1
1
0
C S
S C
A
(
(
(
(


=
1 0 0 0
1 0 0
0
0
2
2 2 2 2
2 2 2 2
2
1
d
S a C S
C a S C
A (Eq. 2.52)

(
(
(
(

=
1 0 0 0
0 0 1 0
0
0
3 3 3 3
3 3 3 3
3
2
S a C S
C a S C
A
(
(
(
(

=
1 0 0 0
0 1 0
0 0
0 0
4
4 4
4 4
4
3
d
C S
S C
A (Eq. 2.53)

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
5 5
5 5
5
4
C S
S C
A
(
(
(
(


=
1 0 0 0
1 0 0
0 0
0 0
6
6 6
6 6
6
5
d
C S
S C
A (Eq. 2.54)
2.1.12.3 MANIPULADOR TI ER 6000
Trata-se de um manipulador com 6 gdl, constitudo por um brao
antropomrfico e por um punho esfrico (semelhante ao PUMA).

Figura 2.13 Estabelecimento de referenciais para o rob manipulador TI ER 6000.
O parmetros de D-H so apresentados na Tabela 2.3.
38
Tabela 2.3 Parmetros de D-H para o manipulador TI ER 6000.
Junta
i
()
i
() a
i
(mm) d
i
(mm) Intervalo de variao ()
1 90 90 0 0 |165, 165|
2 0 0 304.8 102.9208 |252.5, 72.5|
3 90 90 0 0 |35, 215|
4 0 90 0 304.8 |162.5, 162.5|
5 0 90 0 0 |105, 105|
6 0 0 0 108.712 |171, 171|

As transformaes homogneas so:

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
1 1
1 1
1
0
C S
S C
A
(
(
(
(


=
1 0 0 0
1 0 0
0
0
2
2 2 2 2
2 2 2 2
2
1
d
S a C S
C a S C
A (Eq. 2.55)

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
3 3
3 3
3
2
C S
S C
A
(
(
(
(

=
1 0 0 0
0 1 0
0 0
0 0
4
4 4
4 4
4
3
d
C S
S C
A (Eq. 2.56)

(
(
(
(

=
1 0 0 0
0 0 1 0
0 0
0 0
5 5
5 5
5
4
C S
S C
A
(
(
(
(


=
1 0 0 0
1 0 0
0 0
0 0
6
6 6
6 6
6
5
d
C S
S C
A (Eq. 2.57)
Ento, a matriz T do rob manipulador TI ER 6000 vem
39

(
(
(
(

= =
1 0 0 0
6
5
5
4
4
3
3
2
2
1
1
0
z z z z
y y y y
x x x x
p a s n
p a s n
p a s n
A A A A A A T (Eq. 2.58)
onde
| | ) ( ) (
6 4 6 5 4 1 6 5 23 6 4 6 5 4 23 1
S C C C S S C S S S S C C C C C n
x
+ = (Eq. 2.59)
| | ) ( ) (
6 4 6 5 4 1 6 5 23 6 4 6 5 4 23 1
S C C C S C C S S S S C C C C S n
y
+ + = (Eq. 2.60)

6 5 23 6 4 6 5 4 23
) ( C S C S S C C C S n
z
= (Eq. 2.61)
| | ) ( ) (
6 4 6 5 4 1 6 5 23 6 4 6 5 4 23 1
C C S C S S S S S C S S C C C C s
x
+ + + = (Eq. 2.62)
| | ) ( ) (
6 4 6 5 4 1 6 5 23 6 4 6 5 4 23 1
C C S C S C S S S C S S C C C S s
y
+ + + + = (Eq. 2.63)

6 5 23 6 4 6 5 4 23
) ( S S C C S S C C S s
z
+ + = (Eq. 2.64)

5 4 1 5 23 5 4 23 1
) ( S S S C S S C C C a
x
+ = (Eq. 2.65)

5 4 1 5 23 5 4 23 1
) ( S S C C S S C C S a
y
+ + = (Eq. 2.66)

5 23 5 4 23
C C S C S a
z
+ = (Eq. 2.67)
| | ) ( ) (
2 5 4 6 1 2 2 4 23 5 23 5 4 23 6 1
d S S d S C a d S C S S C C d C p
x
+ + + + = (Eq. 2.68)
| | ) ( ) (
2 5 4 6 1 2 2 4 23 5 23 5 4 23 6 1
d S S d C C a d S C S S C C d S p
y
+ + + + + = (Eq. 2.69)

2 2 4 23 5 4 23 5 23 6
) ( S a d C S C S C C d p
z
+ = (Eq. 2.70)
2.2 CINEMTICA DIFERENCIAL DIRECTA
Outro problema importante diz respeito s relaes existentes entre as
velocidades (linear e angular) do rgo terminal e as velocidades das juntas. O
conhecimento destas relaes essencial para a implementao de certos algoritmos
40
de controlo, bem como para alguns algoritmos de clculo da cinemtica de posio
inversa.
Nesta seco (e respectivas sub-seces) so estudadas as relaes
diferenciais, ou seja, as relaes entre as velocidades linear e angular do rgo
terminal e as velocidades das juntas.
2.2.1 JACOBIANO CINEMTICO
Para um manipulador com n gdl a cinemtica de posio directa pode ser
representada pela funo

(

=
1
0 0
0
p R
T
n n
(Eq. 2.71)
Pretende-se agora determinar a relao entre as velocidades linear e angular
do rgo terminal,
0
0
n
v e
0
0
n
, em relao ao referencial da base e expressas no
referencial da base, e as velocidades das juntas, q&
q
J
J

v
&
(

=
(
(

O
P
n
n
0
0
0
0
(Eq. 2.72)
em que J
P
e J
O
so matrizes de dimenso 3n, representando as contribuies das
velocidades das juntas para, respectivamente, a velocidade linear do rgo terminal e
a velocidade angular do rgo terminal.
De forma mais compacta pode escrever-se
( )q q J

v
& =
(
(

0
0
0
0
n
n
(Eq. 2.73)
com
41

(

=
O
P
J
J
J (Eq. 2.74)
uma matriz de dimenso 6n.
Pelo mtodo do trabalho virtual, Asada e Slotine (1986) mostram que as
foras nas juntas, , podem ser relacionadas com a fora generalizada (fora e
momento) aplicada no rgo terminal do rob e expressa no referencial da base,
0
n
f ,
atravs da equao

0
n
T
f J = (Eq. 2.75)
2.2.1.1 DERIVADA DE UM VECTOR DEFINIDO EM RELAO A UM
REFERENCIAL QUE PODE RODAR
Considere-se um referencial fixo, A, e um referencial mvel, B, com
movimento de translao e de rotao em relao a A. Seja
A
P
A
p o vector posio do
ponto P em relao a A, expresso em A;
B
P
B
p o vector posio do ponto P em
relao a B, expresso em B; e
A
B
A
p o vector posio do ponto B em relao a A,
expresso em A (Figura 2.14).
P
A
P
A
p
A
A
B
A
p
B
P
B
p
B

Figura 2.14 Posio de um ponto P em relao a um referencial fixo, A, e a um
referencial mvel, B.
Da Figura 2.14 facilmente se conclui que
42

B A A
P
B
B
A
B
A
P
A
p R p p + = (Eq. 2.76)

A A A
P
B
B
A
P
A
p p p + = (Eq. 2.77)
A velocidade de P em relao ao referencial A, expressa em A, ser

A A A
P
B
B
A
P
A
p p p & & & + = (Eq. 2.78)
Sendo
A
P
B
p um vector definido no referencial B, sabido, da mecnica
clssica, que a sua derivada temporal

A A A A
P
B
B
A
rot
P
B
P
B
p p p + = & & (Eq. 2.79)
onde
rot
P
B
A
p& representa a derivada do vector
A
P
B
p no referencial que est a rodar,
ao passo que
A
P
B
p& a sua derivada no referencial fixo (sempre que no haja risco de
confuso o smbolo ( )
rot
poder ser omitido). Assim,

A A A A A
P
B
B
A
rot
P
B
B
A
P
A
p p p p + + = & & & (Eq. 2.80)
( )
B A B A A
P
B
B
A
B
A
rot
P
B
B
A
B
A
P
A
p R p R p p + + = & & & (Eq. 2.81)
Em geral, a derivada temporal de um vector em relao a um referencial fixo
igual derivada do vector em relao ao referencial que est a rodar mais o produto
vectorial da velocidade angular do referencial que est a rodar pelo prprio vector:
( ) ( ) ( ) + =
rot
dt
d
dt
d
(Eq. 2.82)
Note-se que, da equao (Eq. 2.76), tambm se pode escrever

B B A A
P
B
B
A
rot
P
B
B
A
B
A
P
A
p R p R p p
&
& & & + + = (Eq. 2.83)
43
ou seja,

( ) ( ) ( )
( )
B A
B B B B B
P
B
B
A
B
A
P
B
B
A
B
A
B
A
P
B
B
A
B
A
P
B
B
A
p R
p R R p R p R
=
= =
&
(Eq. 2.84)
2.2.1.2 VELOCIDADES LINEAR E ANGULAR DE UM ELO DA ESTRUTURA
Sejam
0
1
0
i
p e
0
0
i
p os vectores posio das origens dos referenciais,
respectivamente, i-1 e i, expressos no referencial 0 (Figura 2.15).
0
1
0
i
p
0
0
i
p
1
1

i
i
i
p

Figura 2.15 Relao entre os referenciais i-1 e i.
Seja ainda
1
1

i
i
i
p o vector posio do referencial i, em relao ao referencial
i-1, expresso no referencial i-1. O vector
0
0
i
p pode ser representado por

1 0 0
1
1
0
1
0 0


+ =
i
i
i
i i i
p R p p (Eq. 2.85)
ou seja

1 0 0 0
1 0 1 0 0
1
1
0
1
0 1
1
0
1
1
0
1
0 1
1
0
1
0 0


+ + =
+ + =
i
i i
i
i
i i i
i
i
i
i
i i i
i
i i i
p R v p
p R p R p p


&
& & &
(Eq. 2.86)
44
que representa a velocidade linear do elo i em funo das velocidades linear e angular
do elo i-1. Notar que
0
1
i
i
v

representa a velocidade da origem do referencial i em


relao ao referencial i-1, expressa no referencial da base.
Quanto velocidade angular tem-se

0 0
1 0 0
1
1
0
1
1
0
1
0 0
i
i
i
i
i
i i i
i


+ =
+ =

R
(Eq. 2.87)
O que representa a velocidade angular do referencial i, em funo das velocidades
angulares dos referenciais i-1 e i em relao ao referencial i-1.
As expresses (Eq. 2.86) e (Eq. 2.87) assumem distintas formas, consoante se
trate de juntas prismticas ou rotativas.
Para uma junta prismtica, dado que a orientao do referencial i em relao
ao referencial i-1 se mantm constante, tem-se

1
1
1
0
0
0

=
=
i i i
i
i
i
d z v
&

(Eq. 2.88)
onde z
i-1
o vector unitrio segundo o eixo da junta i.
As velocidades linear e angular so

0 0 0 0
0 0
1 0
1 1
0 0
1
0 0
i
i
i i i i i
i i
d p z v v

+ + =
=


&
(Eq. 2.89)
Para uma junta rotativa, devido rotao do referencial i em relao ao
referencial i-1 causada pelo movimento da junta i, tem-se
45

0 0 0
0
1 1 1
1
1
i
i
i
i
i
i
i i i
i
p v
z

=
=


&
(Eq. 2.90)
As velocidades linear e angular so

0 0 0 0
0 0
1 0
1
0 0
1 1
0 0
i
i
i i i
i i i i
p v v
z


+ =
+ =


&
(Eq. 2.91)
2.2.1.3 DETERMINAO DO JACOBIANO
Considere-se que o jacobiano representado por

(

=
On
Pn
O
P
J
J
J
J
J L
1
1
(Eq. 2.92)
em que J
Pi
e J
Oi
so vectores de dimenso 31.
A expresso
Pi i
q J & representar a contribuio da junta i para a velocidade
linear do rgo terminal, enquanto que
Oi i
q J & representar a contribuio da mesma
junta para a velocidade angular.
Se se tratar de uma junta prismtica (q
i
= d
i
) tem-se

0 J
0 J
=
=
Oi
Oi i
q&
(Eq. 2.93)

1
1

=
=
i Pi
i i Pi i
d q
z J
z J
&
&
(Eq. 2.94)
Se se tratar de uma junta rotativa (q
i
=
i
) tem-se

1
1

=
=
i Oi
i i Oi i
q
z J
z J
&
&
(Eq. 2.95)
46

0
0
0 0
1
1
1
1
1 1
n
i
i Pi
n
i
i i
n
i
i
i
Pi i
q
p z J
p z
p J


=
=
=

&
&
(Eq. 2.96)
Para um manipulador com 6 gdl tem-se
| | ) ( ) ( ) ( ) ( ) ( ) (
6 2 1
6
0
6
0
0
0
t t q q J q J q J q q J

v
& K & = =
(
(

(Eq. 2.97)
onde J(q) uma matriz de dimenso 66 cuja coluna de ordem i J
i
(q) dada pela
equao seguinte

tica prism junta a se


0
rotativa junta a se
) (
1
1
6
1
1
0
i
i
i
i
i
i
i
z
z
p z
q J (Eq. 2.98)
| | ) ( ) ( ) (
6 1
t q t q t & K & & = q um vector que representa a velocidade das juntas,
0
6
1
p
i

o vector posio que corresponde quarta coluna das matrizes
6
1
T
i
expresso no
referencial da base e z
i1
o vector unitrio definido segundo o eixo da junta i e
expresso no referencial da base.
Para um rob do tipo 6R o jacobiano vem

(


=
5 1 0
6
5
5 6
1
1 6
0
0
0 0 0
) (
z z z
p z p z p z
J
L
L
(Eq. 2.99)
Em alguns casos pode ser prefervel exprimir a velocidade generalizada do
rgo terminal no referencial ligado ao prprio rgo terminal. Deste modo, o
jacobiano cinemtico, J
n
, dado por
47
J
R 0
0 R
J
(

=
0
0
n
n
n
(Eq. 2.100)
2.2.2 JACOBIANO DE NGULOS DE EULER
O significado fsico do vector velocidade angular,
0
0
i
, mais intuitivo que
o do vector de derivadas de ngulos de Euler, | |
T
&
&
&
&
= . O vector
0
0
i

representa as componentes de velocidade angular do referencial i, em relao ao
referencial da base, e expressas no referencial da base. As componentes do vector
| |
T
&
&
&
&
= no so ortogonais, sendo que representam uma velocidade angular
definida em relao a um referencial varivel.
Por outro lado, enquanto que o integral do vector | |
T
&
&
&
&
= poder
representar a orientao do rgo terminal do manipulador, o integral do vector
0
0
i

no admite um claro significado fsico.
Considere-se, por exemplo, um corpo rgido do qual se conhece a posio no
instante t = 0. Assuma-se que a sua velocidade angular pode ser uma das
especificadas abaixo:
| | | | 2 1 , 0 2 0 ; 1 0 , 0 0 2
0 0
0 0
t t
T
i
T
i
= == = = == = (Eq. 2.101)
| | | | 2 1 , 0 0 2 ; 1 0 , 0 2 0
0 0
0 0
t t
T
i
T
i
= == = = == = (Eq. 2.102)
em qualquer dos casos o integral de
0
0
i
resulta no mesmo valor. Porm, a
orientao final do corpo diferente nos dois casos (Figura 2.16).
48

Figura 2.16 Orientao final de um corpo, obtida por integrao do vector
velocidade angular.
Conhecendo as equaes da cinemtica e um vector de coordenadas no
espao das juntas, pode determinar-se a correspondente posio e orientao do
rgo terminal resolvendo a equao
x = f(q) (Eq. 2.103)
onde x um vector de coordenadas do espao operacional de dimenso m, q um
vector de coordenadas do espao das juntas de dimenso n (n = nmero de gdm) e f
uma aplicao no linear contnua e diferencivel para todo q pertencente ao espao
das juntas, da forma f: R
n
R
m
.
Diferenciando a equao (Eq. 2.103) em ordem ao tempo vem

t t d
d ) f(
d
d q
q
q x

= (Eq. 2.104)
ou
49
q J x & &
E
= (Eq. 2.105)
onde,
q
q
J

) f(
=
E
R
mxn
um jacobiano.
Sendo m = 6 (coordenadas cartesianas e ngulos de Euler), J
E
o chamado jacobiano
de ngulos de Euler.
Notar que J
E
tambm poder ser obtido a partir de J. De facto, a relao entre
a velocidade angular,
0
0
n
, e a primeira derivada temporal dos ngulos de Euler,
| |
T
&
&
&
&
= , bem conhecida da cinemtica, sendo (Vukobratovic e
Kircanski, 1986)

(
(
(

&
&
&
A n
J
0
0
(Eq. 2.106)
em que

(
(
(



S
S C C
C C S
A
0 1
0
0
J (Eq. 2.107)
Rescrevendo
(

=
(
(

2
1
0
0
0
0
q
q
J

v
&
&
n
n
como

(

=
(
(

2
1
22 21
12 11
0
0
0
0
q
q
J J
J J
v
&
&
n
n
(Eq. 2.108)
e substituindo
0
0
n
por J
&
A
vem
50

(


=
(
(


2
1
22
1
21
1
12 11
0
0
0
0
q
q
J J J J
J J
v
&
&
&
A A n
n
(Eq. 2.109)
Refira-se que, quando = 90, devido indeterminao introduzida pela
representao de ngulos de Euler, a transformao J
A
singular ( { } 0 det =
A
J ). Isto
implica que J
E
pode ser singular, apesar dessa singularidade no corresponder a
nenhuma configurao singular do manipulador. Como ser fcil de compreender,
deve sempre adoptar-se um sistema de ngulos de Euler tal que a singularidade por
ele introduzida fique fora do espao de trabalho do manipulador.
Matematicamente, um ponto singular corresponde a um vector de
coordenadas no espao das juntas que torna nulo o determinante do jacobiano (se J
singular J
E
tambm singular). Fisicamente, numa configurao singular, o
manipulador perde um ou mais gdl, no podendo mover-se numa ou vrias direces
no espao. Significa tambm que nessa configurao, segundo determinadas
direces, o manipulador apresenta-se como infinitamente rgido ao ambiente; uma
fora externa completamente absorvida pela estrutura. De notar que todos os pontos
na fronteira do espao de trabalho so pontos singulares.
2.3 CINEMTICA DE POSIO INVERSA
Quando se pretende determinar o vector de coordenadas operacionais (por
exemplo, coordenadas cartesianas e ngulos de Euler) que corresponde a um
determinado vector no espao das juntas (problema da cinemtica directa), verifica-
se facilmente que as componentes relativas posio podem ser lidas directamente
da matriz T do rob manipulador (quarta coluna). As componentes relativas
orientao (ngulos de Euler) no so de leitura imediata, uma vez que a orientao
vem dada em termos de uma matriz de rotao de dimenso 33. No entanto, a partir
da matriz de rotao no difcil chegar aos ngulos de Euler, pois bem conhecida
a relao entre ambos.
51
Pelo contrrio, o problema da cinemtica de posio inversa, isto , a
determinao do vector de coordenadas do espao das juntas que corresponde a um
dado vector de coordenadas operacionais, envolve clculos bem mais complexos:
as equaes a resolver so, em geral, no lineares, pelo que nem sempre
possvel uma resoluo analtica;
podem existir solues mltiplas. Em geral, o nmero de solues
aumenta com o nmero de parmetros de D-H no nulos. Para um
manipulador com 6 gdl existem no mximo 16 solues;
pode existir uma infinidade de solues (redundncia, singularidades);
pode no existir soluo (a posio generalizada especificada est fora
do espao de trabalho).
Em geral, o problema pode ser abordado de duas formas distintas:
atravs da utilizao de mtodos analticos;
atravs da utilizao de mtodos numricos iterativos.
Os mtodos analticos permitem a obteno de todas as solues, para um
dado vector de coordenadas no espao operacional. Porm, tais mtodos no so
gerais, podendo ser aplicados somente a manipuladores simples, com muitos
parmetros de D-H nulos (que o caso da maioria dos manipuladores industriais).
Dentro dos mtodos analticos podem ser seguidas duas estratgias: as que exploram
as relaes geomtricas da estrutura ou as que utilizam as matrizes homogneas que
relacionam os referenciais associados aos elos. Em qualquer caso quase sempre
necessria alguma dose de intuio para resolver o problema.
Os mtodos numricos iterativos so gerais. Para um dado vector de
coordenadas no espao operacional permitem encontrar apenas uma das possveis
solues, sendo que podem apresentar srios problemas de convergncia.
52
Est provado que para manipuladores de estrutura em srie com 6 gdl, o
problema da cinemtica de posio inversa admite soluo analtica quando:
os eixos de trs juntas rotativas consecutivas se intersectam num ponto;
os eixos de trs juntas rotativas consecutivas so paralelos.
2.3.1 CINEMTICA DE POSIO INVERSA DE MANIPULADORES
COM 6 GDL E PUNHO ESFRICO
No caso particular de manipuladores com 6 gdl e punho esfrico possvel
desacoplar o problema em dois: um subproblema de posicionamento e um
subproblema de orientao. De facto, a posio do punho apenas depende das
coordenadas das trs primeiras juntas, enquanto que as ltimas trs juntas apenas
afectam a orientao.
O subproblema de posicionamento consiste na determinao da soluo para
as trs primeiras juntas a partir da posio do punho (ponto de interseco dos eixos
das trs ltimas juntas).
O subproblema de orientao consiste na determinao da soluo para as trs
ltimas juntas a partir da orientao do punho e da soluo do subproblema de
posicionamento.
O procedimento o seguinte:
determinar a posio do punho, dada a posio e a orientao do rgo
terminal: | |
T
w w w w
z y x
p p p d = = a p p
6
0
0
;
resolver o problema da cinemtica inversa para o brao;
calcular a matriz de orientao ( )
3 2 1 3
0
, , q q q R ;
calcular a matriz ( ) ( ) ( ) , , , , , ,
6
0
3 2 1 3
0
6 5 4 6
3
R R R = q q q q q q
T
;
53
resolver o problema da cinemtica inversa para o punho.
Para a resoluo do problema da cinemtica inversa do brao haver que usar
um qualquer mtodo analtico, sendo til a manipulao das matrizes homogneas
e/ou a explorao das relaes geomtricas ao nvel do brao (alguns exemplos sero
mostrados adiante).
Para a resoluo do problema da cinemtica inversa do punho poder ser
seguida uma metodologia em tudo igual apresentada na seco 2.1.4.
2.3.2 CINEMTICA INVERSA DE ALGUNS MANIPULADORES
2.3.2.1 BRAO ESFRICO (MANIPULADOR DE STANFORD)
Dada a posio e a orientao do rgo terminal do manipulador, matriz T,
pode determinar-se de imediato a posio do punho: a p p
6
0
0
d
w
= .
Neste caso, a posio do punho coincide com a origem do referencial 3, sendo
que pode ser lida directamente da matriz
3
0
A (quarta coluna):

(
(
(
(

+
+

=
=
1
1 2 3
2 1 2 1 3
2 1 2 1 3
3
2
2
1
1
0
3
0
d C d
d C S S d
d S S C d
M M M
A A A A
(Eq. 2.110)
Assim, vem

(
(
(

+
+

=
(
(
(

1 2 3
2 1 2 1 3
2 1 2 1 3
d C d
d C S S d
d S S C d
p
p
p
z
y
x
w
w
w
(Eq. 2.111)
Multiplicando ambos os membros da equao anterior por ( )
1
1
0

A vem
54

(
(
(

=
(
(
(

+

+
2
2 3
2 3
1 1
1 1
d
C d
S d
C p S p
p
S p C p
y x
z
y x
w w
w
w w
(Eq. 2.112)
Fazendo ( ) 2 tan
1
= t tem-se

2 1 2
2
1
1
2
,
1
1
t
t
S
t
t
C
+
=
+

= (Eq. 2.113)
Substituindo nos terceiros elementos da equao (Eq. 2.112) resulta a seguinte
equao de segunda ordem
( ) 0 2
2
2
2
= + + +
y x y
w w w
p d t p t p d (Eq. 2.114)

y
y x x
w
w w w
p d
d p p p
t
+
+
=
2
2
2
2 2
(Eq. 2.115)
( )
y y x x
w w w w
p d d p p p + + =
2
2
2
2 2
1
, 2 atan 2 (Eq. 2.116)
Existem duas solues para a primeira junta, desde que o discriminante da raiz
quadrada seja positivo. Claro que se for negativo no existe soluo.
Dos dois primeiros elementos da equao (Eq. 2.112) resulta

2 3
2 3
1 1
C d
S d
p
S p C p
z
y x
w
w w

+
(Eq. 2.117)
( )
z y x
w w w
p S p C p , 2 atan
1 1 2
+ = (Eq. 2.118)
Elevando ao quadrado e somando as duas primeiras componentes da equao
(Eq. 2.112) tem-se (s interessa a soluo d
3
> 0)
( )
2 2
1 1 3
,
z z y x
w w w w
p p S p C p d + + = (Eq. 2.119)
55
2.3.2.2 BRAO ANTROPOMRFICO (MANIPULADOR TI ER 6000 COM d
2
= 0
OU PUMA COM d
2
= 0 E a
3
= 0)
Para facilitar a anlise considerem-se os parmetros de D-H d
2
= 0 e a
3
= 0,
relativamente ao manipulador PUMA e d
2
= 0, relativamente ao TI ER 6000. Assim,
ambos os manipuladores sero idnticos.
Dada a posio e a orientao do rgo terminal do manipulador (matriz T),
pode determinar-se de imediato a posio do punho: a p p
6
0
0
d
w
= .
Neste caso, a posio do punho coincide com a origem do referencial 4, pelo
que pode ser lida directamente da matriz
4
0
A (quarta coluna):

(
(
(
(

+
+
=
=
1
2 2 23 4
2 1 2 23 1 4
2 1 2 23 1 4
4
3
3
2
2
1
1
0
4
0
S a C d
C S a S S d
C C a S C d
M M M
A A A A A
(Eq. 2.120)
Assim, vem

(
(
(

+
+
=
(
(
(

2 2 23 4
2 1 2 23 1 4
2 1 2 23 1 4
S a C d
C S a S S d
C C a S C d
p
p
p
z
y
x
w
w
w
(Eq. 2.121)
Por uma questo de geometria fcil verificar que
( )
x y
w w
p p , 2 atan
1
= (Eq. 2.122)
ou ( )
x y
w w
p p , 2 atan
1
+ = , desde que
2
passe a valer -
2
(Figura 2.17).
Elevando ao quadrado e somando os elementos da equao (Eq. 2.121) e
usando as relaes trigonomtricas
3 2 3 2 23
S C C S S + = e
3 2 3 2 23
C C C C C = vem
56

( )
( )
3 2 3 2 2 2 4
3 2 3 2 2 2 4
2
2
2
4
2 2 2
2
2
S S C C S a d
S C C S C a d a d p p p
z y x
w w w

+ + + = + +
(Eq. 2.123)

3 2 4
2
2
2
4
2 2 2
2 S a d a d p p p
z y x
w w w
+ + = + + (Eq. 2.124)

2 4
2
2
2
4
2 2 2
3
2 a d
a d p p p
S
z y x
w w w
+ +
= (Eq. 2.125)

2
3 3
1 S C = (Eq. 2.126)
( )
3 3 3
, 2 atan C S = (Eq. 2.127)
Elevando ao quadrado e somando os dois os primeiros elementos na equao
(Eq. 2.121) resulta a equao

2 2
2 2 23 4
y x
w w
p p C a S d + = + (Eq. 2.128)
Resolvendo o sistema de equaes composto pela equao (Eq. 2.128) e pela equao
que resulta da igualdade entre os terceiros elementos da equao (Eq. 2.121) obtm-
se a soluo para a junta 2:

=
+ = +
z
y x
w
w w
p S a C d
p p C a S d
2 2 23 4
2 2
2 2 23 4
(Eq. 2.129)

( )
2 2 2
2 3 4
2 2
3 4
2
z y x
z y x
w w w
w w w
p p p
p a S d p p C d
S
+ +
+ +
= (Eq. 2.130)

( )
2 2 2
2 2
3 4 2 3 4
2
z y x
y x z
w w w
w w w
p p p
p p S d a C d p
C
+ +
+ + +
= (Eq. 2.131)
( )
2 2 2
, 2 atan C S = (Eq. 2.132)
Como se pode ver existem quatro solues para o brao, as quais
correspondem s seguintes configuraes (Figura 2.17):
57
brao direita e para cima;
brao esquerda e para cima;
brao direita e para baixo;
brao esquerda e para baixo;

Figura 2.17 Diferentes configuraes para o brao antropomrfico.
2.3.3 DIFICULDADES DOS MTODOS ANALTICOS
Os mtodos analticos apresentam alguns problemas cuja resoluo requer um
estudo cuidadoso:
como os mtodos analticos fornecem variadas solues, torna-se
necessrio escolher a que deve ser usada;
como a soluo para cada junta resulta, em ltima anlise, do clculo de
uma funo atan2(x, y), surge o problema dos ngulos obtidos virem
sempre restringidos ao intervalo |180, +180|. Este facto pode
levantar problemas, caso o intervalo de variao dos ngulos das juntas
no esteja contido nesse intervalo.
58
2.3.3.1 PROBLEMA DA ESCOLHA DA SOLUO
Depois de calculadas todas as possveis solues, como o intervalo de
variao da juntas conhecido, o primeiro passo dever ser eliminar quaisquer
solues que no estejam dentro desses intervalos. Podem ento ocorrer trs
situaes:
todas as solues esto dentro dos limites de variao impostos s
juntas. A dimenso do problema no reduzida;
apenas algumas das solues no violam os limites de variao
impostos s juntas. A dimenso do problema foi reduzida;
todas as solues violam os limites de variao impostos s juntas. No
existe soluo. Isto significa que se pretende mover o manipulador para
um ponto fora do seu espao de trabalho.
Se se verificar um dos dois primeiros casos h que encontrar um critrio que
uma vez aplicado permita escolher a soluo.
2.3.3.1.1 Funo custo
Um procedimento possvel para seleccionar a soluo escolher aquela que
minimiza uma determinada funo custo. Por exemplo, escolher a soluo que
minimiza o erro quadrtico mdio entre o vector de coordenadas no espao das juntas
actual e o vector de coordenadas no espao das juntas candidato a prxima soluo.
importante notar que neste caso se tenta fazer com que as trajectrias, no espao das
juntas, sejam contnuas no tempo.
Uma outra possibilidade consiste em escolher a soluo que minimiza o erro
quadrtico mdio entre o vector de coordenadas no espao das juntas candidato a
prxima soluo e o vector de coordenadas no espao das juntas cujas componentes
so os pontos mdios dos intervalos de variao impostos s juntas. Neste caso,
tenta-se manter as juntas o mais afastado possvel dos seus limites.
59
Minimizao do erro quadrtico mdio entre o ltimo vector calculado e o
vector candidato a soluo
Considere-se o vector q
act
de coordenadas no espao das juntas
correspondente situao actual, x
act
, do rgo terminal. Dado o vector q
seg
, de
coordenadas no espao das juntas, candidato a soluo para o vector x
seg
, de
coordenadas operacionais seguinte, a funo a minimizar

=
6
1
2
, ,
) ( min
i
seg i act i i
q q c (Eq. 2.133)
em que, c
i
> 0 (i = 1,...,6). Estes parmetros formam um conjunto de pesos que
pode ser ajustado por simulao de modo a obter a soluo mais adequada. Assim,
necessrio calcular o valor da equao (Eq. 2.133) para cada um dos vectores
candidatos a soluo e escolher aquele que a minimiza.
Minimizao do erro quadrtico mdio entre vector candidato a soluo e o
vector formado pelos pontos mdios dos intervalos de variao das juntas
Dado o vector q
med
, que corresponde aos pontos mdios dos intervalos de
variao das juntas, e o vector q
seg
de coordenadas no espao das juntas candidato a
soluo para o vector x
seg
de coordenadas operacionais seguinte, a funo a
minimizar

=
6
1
2
, ,
) ( min
i
seg i med i i
q q c (Eq. 2.134)
em que c
i
> 0 (i = 1,...,6). A soluo escolhida tal como no caso anterior.
2.3.3.1.2 Escolha da funo custo (caso do manipulador TI ER 6000)
A escolha da funo custo adequada pode requerer alguma simulao. Assim,
considere-se que no instante de tempo t = 0 seg. a posio generalizada do
60
manipulador x
0
= (50, 40, 600, 10, 5, 35)
T
(posio expressa em milmetros e
orientao expressa em graus) e que as correspondentes coordenadas das juntas so
q
0
= (6.3, 54.8, 24.2, 40.8, 54.2, 46.1)
T
(em graus). Pretende-se que o rgo
terminal do rob descreva um quadrado no plano YZ (plano vertical) demorando
2 seg para percorrer cada lado. Para tal define-se uma trajectria especificando os
restantes trs vrtices do quadrado x
1
, x
2
e x
3
: x
1
= (50, 240, 600, 10, 5, 35)
T
,
x
2
= (50, 240, 400, 10, 5, 35)
T
e x
3
= (50, 40, 400, 10, 5, 35)
T
(Figura 2.18).
350
400
450
500
550
600
650
0 50 100 150 200 250
E
i
x
o

Z

(
m
m
)
Eixo Y (mm)

Figura 2.18 Trajectria no plano YZ desejada para o rgo terminal.
Na Figura 2.19 podem observar-se as trajectrias geradas por um mtodo
analtico, para duas funes custo: a funo custo (1) minimizao do erro quadrtico
mdio entre o vector candidato a prxima soluo e o vector soluo anterior, e a
funo custo (2) minimizao do erro quadrtico mdio entre o vector candidato a
prxima soluo e o vector cujas componentes so os pontos mdios dos intervalos
de variao das juntas. Em ambas as funes custo o vector de pesos
2
c = (10, 10,
10, 1, 1, 1)
T
. Notar que a funo custo (2) conduz gerao de trajectrias no espao
das juntas descontnuas no tempo (que implicam mudanas de configurao do
manipulador). As correspondentes trajectrias no espao operacional so
coincidentes (i.e., o manipulador consegue executar a mesma trajectria no espao
operacional de vrias formas diferentes (Figura 2.20)).

2
Entende-se que se deve dar maior peso s juntas do brao uma vez que, tipicamente, estas tm menor
capacidade de acelerao que as do punho. Assim, d-se maior importncia s descontinuidades das
trajectrias destas juntas.
61
-80
-60
-40
-20
0
20
40
60
80
0 1 2 3 4 5 6 7 8
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)
Junta 1
-180
-160
-140
-120
-100
-80
-60
-40
-20
0
0 1 2 3 4 5 6 7 8
Junta 2
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)

Junta 1 Junta 2
-50
0
50
100
150
200
0 1 2 3 4 5 6 7 8
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)
Junta 3
-150
-100
-50
0
50
100
0 1 2 3 4 5 6 7 8
Junta 4
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)

Junta 3 Junta 4
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0 1 2 3 4 5 6 7 8
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)
Junta 5
-150
-100
-50
0
50
100
0 1 2 3 4 5 6 7 8
Junta 6
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)

Junta 5 Junta 6
Figura 2.19 Trajectrias das juntas geradas por um mtodo analtico com diferentes
funes custo.
Funo custo (1); --- Funo custo (2).
62
350
400
450
500
550
600
650
0 50 100 150 200 250
E
i
x
o

Z

(
m
m
)
Eixo Y (mm)

Figura 2.20 Trajectrias no espao operacional (plano YZ) geradas por um mtodo
analtico com diferentes funes custo.
Funo custo (1); --- Funo custo (2).
2.3.3.2 PROBLEMA DA RESTRIO DOS NGULOS AO INTERVALO | || | 180 ,
+180 | || |
O facto das solues para as juntas resultarem da aplicao de uma funo
atan2(x, y) faz com que os ngulos venham restringidos ao intervalo |, |. Se os
intervalos de variao impostos s juntas no estiverem contidos dentro deste
intervalo, impe-se a correco da soluo obtida. Um procedimento possvel
consistir na comparao da soluo proposta com a soluo anterior. Caso se
verifique uma inverso de sinal, haver que fazer a devida correco soluo.
2.3.4 MTODOS NUMRICOS ITERATIVOS
2.3.4.1 MTODO BASEADO NO JACOBIANO
Seja q um vector definido no espao das juntas e x um vector definido no
espao operacional: ( ) ( ) x q q x
1
f ; f

= = , sendo f uma funo no linear.
Considere-se dq (ou q) um vector de incrementos infinitesimais (ou muito
pequenos) em q e dx (ou x) um vector de incrementos infinitesimais (ou muito
pequenos) em x.
63
Sabe-se das relaes diferenciais que
dx = J
E
dq (x = J
E
q) (Eq. 2.135)
ou
x J q d d
1
=
E
( x J q =
1
E
) (Eq. 2.136)
Algoritmo 2.2
D1. Seleccionar o vector inicial candidato a soluo
0
q q
k
;
D2. Determinar e inverter o jacobiano de ngulos de Euler ( )
k E
q J
1
;
D3. Determinar o vector erro no espao operacional ( ) | |
k
q x f ;
D4. Fazer ( ) | |
k E k
q x J q f
1
=

;
D5. Fazer
k k k
q q q + =
+1
;
D6. Se ( ) { } >
+1
f maxval
k
q x voltar ao passo D2.
+

x
( ) q J
1
E
( ) q f
x
q

Figura 2.21 Diagrama de blocos do algoritmo de clculo da cinemtica inversa.
A rapidez de convergncia do algoritmo depende fortemente da aproximao
inicial q
0
. No seguimento de uma trajectria deve-se usar a soluo encontrada no
instante T para aproximao inicial soluo procurada para o instante T + T.
64
2.3.4.2 EXEMPLO: MANIPULADOR TI ER 6000
Considere-se que se dispe de um mtodo eficaz de gerar uma trajectria no
espao operacional, isto , de gerar pontos x
i
muito prximos pelos quais o rgo
terminal do manipulador deve passar. Para o manipulador TI ER 6000 o Algoritmo
2.3 revela-se adequado no seguimento de uma trajectria. Note-se que a soluo para
cada ponto x
i
calculada numa nica passagem, i.e., sem a necessidade de iterar.
Algoritmo 2.3
P0. Fazer i = 0.
P1. Ler a situao inicial (vector q
i
). Ler os sensores de posio das
juntas. Este passo s necessita de ser executado uma vez.
P2. Executar os passos P3 a P8 at x = 0.
P3. Calcular o vector x
i
que corresponde ao vector q
i
. Este passo
executado de um modo simples, pois corresponde resoluo do
problema da cinemtica directa.
P4. Calcular x
i+1
. O clculo de x
i+1
efectuado por um mtodo de
gerao de trajectrias.
P5. Calcular x. Fazer x = x
i+1


x
i
.
P6. Calcular q. Fazer x J q =
1
E
.
P7 Calcular q
i+1
. Fazer q
i+1
= q
i
+ q.
P8. Fazer i = i+1.
2.3.4.3 APLICAO A MANIPULADORES COM PUNHO ESFRICO
Segundo Coiffet (1982), desde que se verifique que os trs ltimos eixos do
rob manipulador se intersectam no mesmo ponto, possvel separar o problema
global (que implica a manipulao de matrizes de dimenso 66) em dois
65
subproblemas independentes: um de posicionamento e outro de orientao (que
requerem apenas a manipulao de matrizes de dimenso 33).
Considere-se que o vector de coordenadas do espao operacional x (de
dimenso 61) e o vector de coordenadas no espao das juntas q (de dimenso 61)
podem ser representados da seguinte forma:

(

=
(

=
2
1
;
q
q
q
x
x
x
o
p
(Eq. 2.137)
em que x
p
(dimenso 31) representa a posio do rgo terminal em coordenadas
cartesianas e x
o
(dimenso 31) representa a orientao em termos de ngulos de
Euler. Por outro lado, q
1
e q
2
so vectores (de dimenso 31) que representam as
posies angulares, respectivamente, das trs primeiras e das trs ltimas juntas.
Considere-se ainda o jacobiano,
int
J , relacionando a velocidade linear e as
derivadas dos ngulos de Euler do punho (ponto de interseco dos eixos das trs
ltimas juntas), com as velocidades das juntas. Verifica-se que este pode ser obtido a
partir de J
E
fazendo o parmetro d
6
= 0, podendo ser representado na forma

(

=
0 J
J J
J
21
12 11 int
(Eq. 2.138)
onde J
11
, J
12
e J
21
so matrizes de dimenso 33 e 0 representa a matriz nula de
dimenso 33.
O vector
int
p
x que representa a posio do ponto de interseco dos trs
ltimos eixos em relao ao referencial da base pode ser calculado pela equao
a x x
6
d
p
int
p
= (Eq. 2.139)
em que x
p
representa a posio do rgo terminal em relao ao referencial da base.
66
Ento o algoritmo vem:
Algoritmo 2.4
P0. Fazer i = 0.
P1. Ler a situao inicial (vector q
i
). Ler os sensores de posio das
juntas.
P2. Executar os passos P3 a P10, at x = 0.
P3. Calcular o vector x
i
que corresponde ao vector q
i
. Este passo
corresponde resoluo do problema da cinemtica directa.
P4. Determinar
int
i
x que corresponde a x
i
. Fazer a x x
6 , ,
d
p i
int
p i
=
( )
int
o i
int
o i , ,
x x = .
P5. Calcular x
i+1
. O clculo de x
i+1
efectuado por um mtodo de
gerao de trajectrias.
P6. Determinar
int
i 1 +
x que corresponde a x
i+1
. Fazer a x x
6 , 1 , 1
d
p i
int
p i
=
+ +

( )
int
o i
int
o i , 1 , 1 + +
= x x .
P7. Calcular
int
x . Fazer
int
i
int
i
int
x x x
1
=
+
.
P8. Calcular q . Fazer
int
o
x J q =
1
21 1
e | |
int
o
int
p
x J J x J q =
1
21 11
1
12 2

P9 Calcular q
i+1
. Fazer q
i+1
= q
i
+ q.
P10. Fazer i = i+1.
2.3.5 LIMITAES DOS MTODOS NUMRICOS ITERATIVOS
Podem ser notadas algumas dificuldades inerentes aos mtodos numricos, a
saber:
conduzem a uma soluo aproximada (embora, teoricamente, possa ser
muito boa se forem adoptados incrementos x suficientemente
67
pequenos, i. e., se for seleccionando um intervalo de amostragem
apropriado). Como se ver atravs de resultados obtidos por simulao,
o erro resultante da linearizao pode ser desprezado se se trabalhar a
frequncias de amostragem tpicas entre os 60 Hz e os 100 Hz;
pequenos incrementos x no vector de coordenadas no espao
operacional no garantem, partida, incrementos q pequenos no
vector de coordenadas no espao das juntas, principalmente prximo de
pontos singulares. No entanto, existem tcnicas que podem ser usadas
para minimizar este problema (Nakamura e Hanafusa, 1986).
2.3.6 COMPARAO DOS DOIS MTODOS
2.3.6.1 EVOLUO TEMPORAL DAS TRAJECTRIAS GERADAS
O mtodo analtico pode conduzir a trajectrias descontnuas no tempo e
como tal as suas duas primeiras derivadas temporais so infinitas. Fisicamente,
significa que para serem executadas so requeridas s juntas velocidades e
aceleraes infinitas. Por outro lado, a frequncia de amostragem afecta, ao contrrio
do que acontece no mtodo analtico, a evoluo temporal das trajectrias geradas
pelo mtodo numrico iterativo (Figura 2.22 e Figura 2.23, para a trajectria definida
anteriormente).
-10
0
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8
Junta 1
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)
-60
-50
-40
-30
-20
-10
0
0 1 2 3 4 5 6 7 8
Junta 2
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)

Junta 1 Junta 2
68
-30
-20
-10
0
10
20
30
40
50
60
0 1 2 3 4 5 6 7 8
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Junta 3
-160
-140
-120
-100
-80
-60
-40
-20
0 1 2 3 4 5 6 7 8
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Junta 4

Junta 3 Junta 4
25
30
35
40
45
50
55
60
65
70
75
0 1 2 3 4 5 6 7 8
Junta 5
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Tempo (segundos)
10
20
30
40
50
60
70
80
90
100
0 1 2 3 4 5 6 7 8
Tempo (segundos)
P
o
s
.

d
a

j
u
n
t
a

(
g
r
a
u
s
)
Junta 6

Junta 5 Junta 6
Figura 2.22 Trajectrias das juntas geradas por um mtodo numrico iterativo para
diferentes frequncias de amostragem.
Frequncia de amostragem de 100 Hz; --- Frequncia de amostragem de 10 Hz.
350
400
450
500
550
600
0 50 100 150 200 250
Eixo Y (mm)
E
i
x
o

Z

(
m
m
)

Figura 2.23 Trajectrias no espao operacional (plano YZ) geradas por um mtodo
numrico iterativo para diferentes frequncias de amostragem.
Frequncia de amostragem de 100 Hz; --- Frequncia de amostragem de 10 Hz.
69
2.3.6.2 PESO COMPUTACIONAL
No controlo de manipuladores muitas vezes necessrio calcular em tempo-
real a soluo do problema da cinemtica inversa. Assim, o peso computacional pode
ser um importante critrio de comparao dos algoritmos apresentados.
Neste aspecto, para o manipulador TI ER 6000 e para uma frequncia de
100Hz, o mtodo numrico revela-se cerca de 4.5 vezes mais rpido que o mtodo
analtico.
2.4 CINEMTICA DIFERENCIAL INVERSA
A cinemtica diferencial inversa pode resumir-se determinao do jacobiano
cinemtico inverso,
1
J . Para manipuladores com 6 gdl, o clculo analtico de tal
matriz revela-se muitas vezes proibitivo face ao seu elevado peso computacional. Em
alternativa, a inverso numrica de J pode ser efectuada com um algoritmo clssico
de inverso de matrizes. No entanto, as inversas generalizadas garantem uma
superior robustez face ao eventual mau condicionamento da matriz a inverter. Uma
inversa generalizada de J qualquer matriz G que satisfaa a relao JGJ = J.
Apesar de existir uma infinidade de inversas generalizadas (Coiffet, 1981), a pseudo-
inversa e o algoritmo de clculo de Greville (Coiffet, 1981) revelam-se
particularmente interessantes. Se a matriz J for no-singular, a inversa,
1
J , e a
pseudo-inversa,
+
J , so iguais. Se J for singular, a pseudo-inversa d origem ao
vector soluo de menor norma euclidiana. O algoritmo de Greville permite calcular
+
J sem ter que inverter qualquer matriz.
70
3 MODELAO DINMICA
O modelo dinmico de um sistema mecnico permite relacionar a evoluo
temporal da sua configurao (nomeadamente, a posio, a velocidade e a
acelerao) com as foras e momentos que nele actuam.
A modelao dinmica de manipuladores de estrutura em srie actualmente
um assunto bem estabelecido. Como tal, nos ltimos anos, a principal preocupao
tem sido tornar os modelos computacionalmente mais eficientes, sobretudo na
perspectiva da sua incluso em algoritmos de controlo de tempo-real.
O modelo dinmico de um manipulador srie operando em espao livre pode
ser representado matematicamente por um sistema de equaes diferenciais no
lineares que, na forma matricial, pode ser dado por
( ) ( ) ( ) q G q q q V q q I = + + & & & & , (Eq. 3.1)
em que ( ) q I e ( ) q q V & , representam, respectivamente, as matrizes de inrcia e de
Coriolis e centrpetos, ( ) q G representa o vector de termos gravticos, q um vector
definido no espao das juntas e o vector de foras / momentos aplicados nas
juntas.
A necessidade de melhor conhecer o comportamento dinmico de um
manipulador aumenta com a complexidade e com as exigncias das tarefas a
robotizar. O modelo dinmico assume uma importncia capital na simulao e no
controlo do sistema:
para controlo necessrio conhecer as foras de comando a aplicar
pelos actuadores, , para que o rgo terminal cumpra a trajectria
71
pretendida (so conhecidas a posio e a velocidade correntes, q eq& ,
sendo especificada a acelerao desejada, q& & ): dinmica inversa (Figura
3.1);
para simulao importante saber como vai reagir o mecanismo quando
sujeito a uma determinada fora de comando, ou seja, interessa saber a
variao da posio, da velocidade e da acelerao do rgo terminal,
em funo do vector de foras aplicadas pelos actuadores (so
conhecidas a posio e a velocidade correntes, q e q& , especificada a
fora de controlo, , e a actualizao da velocidade e da posio obtida
por integrao da acelerao): dinmica directa (Figura 3.2).
( ) q I
+
Manipulador
( ) q q V & ,
q
q&

+
( ) q G
+
+
q& &

Figura 3.1 Diagrama de blocos do modelo dinmico inverso de um manipulador.
72
( ) q I
1

+
+
+

( ) q q V & ,
( ) q G
q q& q& &

Figura 3.2 Diagrama de blocos do modelo dinmico directo de um manipulador.
Tipicamente, a modelao dinmica de manipuladores srie baseia-se ou no
mtodo de Newton-Euler ou no mtodo de Lagrange. O mtodo de Newton-Euler
descreve o comportamento de um sistema mecnico atravs das foras e momentos
aplicados nos corpos que o constituem. A dinmica de um corpo rgido
representada por duas equaes: a equao de Newton, que descreve a translao do
centro de massa do corpo, e a equao de Euler, que descreve a rotao do corpo em
relao ao seu centro de massa.
O mtodo de Lagrange descreve a dinmica de um sistema mecnico a partir
dos conceitos de trabalho e energia. Mais precisamente, a equao de Lagrange
funo de uma quantidade escalar - o lagrangeano - (diferena entre as energias
cintica e potencial), determinado em funo de um qualquer conjunto de
coordenadas generalizadas. O mtodo de Lagrange permite obter de forma
sistemtica as equaes de movimento de qualquer sistema mecnico.
3.1 MODELAO DINMICA PELO MTODO DE NEWTON-
EULER
Nesta seco apresenta-se o mtodo de Newton-Euler para a modelao
dinmica de manipuladores de estrutura em srie.
73
Como sabido, um corpo rgido em espao livre possui 6 gdl, pelo que o seu
movimento pode ser descrito por um conjunto de 6 equaes diferenciais
independentes. Tais equaes podem ser obtidas da equao de Newton, que
descreve a translao do centro de massa do corpo, e da equao de Euler, que
descreve a rotao do corpo em relao ao seu centro de massa.
Considere-se a Figura 3.3, onde G
i
o centro de massa do elo i. Fixos em
relao ao elo existem dois referenciais: o referencial i, estabelecido de acordo com o
algoritmo de D-H; e o referencial G
i
com origem no centro de massa G
i
. A orientao
de G
i
em relao a i dada pela matriz de rotao
i
G
i
R (constante).
0
0
i
p
G
i
0
0
i
G
p
i
G
i
i
p

Figura 3.3 Referencial inercial e referenciais fixos ao elo i.
Seja m
i
a massa e
i
G
i
i
G
I a matriz de inrcia do elo em relao ao seu centro
de massa, expressa no referencial G
i
.
Qualquer matriz de inrcia simtrica, pelo que pode escrever-se

(
(
(

=
zz yz xz
yz yy xy
xz xy xx
i
G
I I I
I I I
I I I
i
G
i



I (Eq. 3.2)
74
onde o smbolo ^ significa que os momentos e os produtos de inrcia esto
referidos ao centro de massa do elo.
Sabe-se, da mecnica clssica, que a matriz de inrcia de um corpo
constante quando expressa num referencial fixo em relao ao prprio corpo. Alm
disso, se o referencial tiver origem no centro de massa e se as direces dos eixos do
referencial coincidirem com as direces principais de inrcia, ento os produtos de
inrcia so todos nulos e a matriz diagonal (Torby, 1984).
A matriz de inrcia do elo i em relao a um referencial A (fixo ao elo)
paralelo a G
i
, com origem num ponto, A, do elo, que no o seu centro de massa, pode
ser calculada da seguinte forma:

(
(
(

= =
zz yz xz
yz yy xy
xz xy xx
i
A
i
A
I I I
I I I
I I I
i
G
A
I I (Eq. 3.3)
em que
( )
2 2

i i
G G i xx xx
z y m I I + + = (Eq. 3.4)
( )
2 2

i i
G G i yy yy
z x m I I + + = (Eq. 3.5)
( )
2 2

i i
G G i zz zz
y x m I I + + = (Eq. 3.6)

i i
G G i xy xy
y x m I I =

(Eq. 3.7)

i i
G G i xz xz
z x m I I =

(Eq. 3.8)

i i
G G i yz yz
z y m I I =

(Eq. 3.9)
e
i i i
G G G
z y x e , , representam as coordenadas do centro de massa G
i
em relao ao
referencial A.
75
Seja
0
0
i
G
p& a velocidade linear do centro de massa e
0 0
0 0
i G
i
= a
velocidade angular do elo, ambas em relao ao referencial da base e expressas no
referencial da base.
O momento linear do corpo expresso no referencial da base
0
i
Q , e o
momento angular do corpo em relao ao seu centro de massa, expresso no
referencial da base,
0
i
G
i
H . Assim,

0 0
0
i
G i i
m p Q & = (Eq. 3.10)

0 0 0 0 0
0 0
i i
G
G i
G
i
G
i
i
i i
= = I I H (Eq. 3.11)
Em que
0
i
G
i
I a matriz de inrcia do elo, em relao ao seu centro de massa,
expressa no referencial da base (i.e., num referencial paralelo ao da base). Note-se
que
0
i
G
i
I no uma matriz constante, pois a orientao do corpo em relao ao
referencial da base varivel (o referencial da base v a geometria do elo a variar).
Usando a matriz de rotao,
i
R
0
, que representa a orientao do referencial i
em relao ao referencial da base, pode escrever-se

i
i i i
Q R Q
0
0
= (Eq. 3.12)

i
i i
i
G
i i
G
H R H
0
0
= (Eq. 3.13)
e, ainda

i
i
i
i
i i i
G
i
G
i

0 0 0
0
= R I H R (Eq. 3.14)

i
i
i
i
i i i
G i
i
G

0 0
0
0
= R I R H (Eq. 3.15)
O vector
i
i
i
G
H representa o momento angular do elo i, em relao ao seu centro de
massa, expresso no referencial i.
76
Da equao (Eq. 3.15), a matriz de inrcia do elo i em relao ao seu centro
de massa, expressa no referencial i ser

i i
G i
i
G
i
i
i
R I R I
0
0
0
= (Eq. 3.16)
ou ento, expressa no referencial da base, em funo de
i
i
i
G
I , vem

0
0
0
R I R I
i
i
G
i i
G
i
i i
= (Eq. 3.17)
Note-se que, pela mesma ordem de ideias, podem ser obtidas as seguintes
relaes:

i i
i i
i
G
i
G
i
i
G
i
G
i
G
R I R I = (Eq. 3.18)

i
G
i
G
G
i
i
G
i
i
G
i
i i
i
R I R I = (Eq. 3.19)
Tipicamente, mais fcil comear por determinar
i
G
i
i
G
I , escolhendo para isso os
eixos de G
i
coincidentes com os eixos principais de inrcia do elo. Para formas
geomtricas simples (regulares) os momentos de inrcia so bem conhecidos e esto
tabelados.
Pela segunda lei de Newton, a fora total aplicada no centro de massa do elo,
expressa no referencial da base ser (Yoshikawa, 1990)
( )
0 0
i G
dt
d
i
Q F = (Eq. 3.20)
( )
0 0 0
0 0
i i i
G i G i G
m m
dt
d
p p F & & & = = (Eq. 3.21)
O momento total aplicado no elo, em relao ao seu centro de massa, expresso no
referencial da base ser
77
( )
0 0
i
G
G
i
i
dt
d
H N = (Eq. 3.22)
( )
0 0 0
0
i i
G
G
i
i
dt
d
= I N (Eq. 3.23)
O momento angular do elo i um vector definido em relao a um referencial
fixo ao corpo, com origem em G
i
. Assim, tem-se

0 0 0 0
0
i
G
i
rot
i
G
i
G
i i i
H H H + =
& &
(Eq. 3.24)

i
i
i i
i
i
i
i
G
i
rot
i
G
i
G
H H H + =
0
& &
(Eq. 3.25)
( )
i i
i
i i i
i
i
i
i i
G
i i i
G
i
G

0 0 0
I I H + = &
&
(Eq. 3.26)
( ) ( ) ( ) ( )
0 0 0 0
0
0
0
0
0
0 0 i
i
i
G
i
i
i
i
i
G
i
G i
i
i
i
i i
R I R R I H R + = &
&
(Eq. 3.27)
( ) ( ) ( ) ( ) ( )
0 0 0 0
0
0
0
0
0 0
0
0
i
i
i
G
i
i
i i
i
i
G
i i
G
i
i
i
i i
R I R R R I R H + = &
&
(Eq. 3.28)
( ) ( )
0 0 0 0
0
0
0 0 0
0
0
i
i
i
G
i i i
i
i
G
i i
G
i
i
i
i i
R I R R I R H + = &
&
(Eq. 3.29)
( )
0 0 0 0 0 0
0 0 0
i i
G
i i i
G
i
G
i i i
I I H + = &
&
(Eq. 3.30)
em que
rot
i
G
i
0
H
&
representa uma derivada em relao ao referencial que est a rodar.
Assim, da equao (Eq. 3.23) vem
( ) ( )
0 0 0 0 0 0 0 0
0 0 0 0
i i
G
i i i
G
i i
G
G
i i i
i
dt
d
I I I N + = = & (Eq. 3.31)
Note-se que a equao (Eq. 3.31) pode ser obtida derivando directamente a
equao (Eq. 3.23). Assim,
( ) ( )
0 0 0 0 0
0 0
0
0 0
i i
G
i
i
i
G
i i i
G
i
i
i i
dt
d
dt
d
& I R I R I + = (Eq. 3.32)
78
A primeira parcela do segundo membro da equao anterior pode ser desenvolvida da
seguinte forma:

( ) ( )
( )
0 0
0
0 0
0
0
0 0
0
0
0
0
0
0
0
0
0
0
0
0 0
0
0
i
i
i
G
i i
i
i
G
i
i
i
i
G
i
i
i
G
i
i
i
i
G
i
i
i
G
i i
i
i
G
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
dt
d
dt
d



R I R R I R
R I R R I R
R I R R I R R I R
& &
& &
&
+ =
+ =
|
.
|

\
|
+ =
(Eq. 3.33)
Dado que (Yoshikawa, 1990)

( )
B B
P P P P P
P
P
B
P
P
B
P
B
P
B P
P
B
P
B P
P
B
p
p R R p R p R

= =


&
(Eq. 3.34)
vem

( ) ( ) ( )
( )
( )
0 0 0
0 0
0 0
0 0
0 0
0
0
0
0
0 0 0
0
0
i i
G
i
i i
i
i
G
i
i
i
i
G
i i i
i
i
G
i
i
i
i
i
i
i i
i
dt
d



I
R I R
R I R R I R
=

+ =
(Eq. 3.35)
3.2 VELOCIDADE E ACELERAO DE UM ELO DA
ESTRUTURA
A velocidade linear de um elo da estrutura do manipulador pode ser
determinada de acordo com a seguinte equao

( )
( )
1 0 0 0
1 0 1 0 0
1
1
0
1
0 1
1
0
1
1
0
1
0 1
1
0
1
0 0


+ + =
+ + =
i
i i
i
i
i i i
i
i
i
i
i i i
i
i i i
p R v p
p R p R p p


&
& & &
(Eq. 3.36)
que representa a velocidade linear do elo i (origem do referencial i) em relao ao
referencial da base (expressa no referencial da base), em funo das velocidades
79
linear e angular do elo i-1 (referencial i-1). Notar que
0 0
1 1
i
i
i
i
p v &

= representa a
velocidade da origem do referencial i em relao ao referencial i-1, expressa no
referencial da base.
A velocidade angular pode ser obtida a partir da seguinte equao

0 0
1 0 0
1
1
0
1
1
0
1
0 0
i
i
i
i
i
i i i
i


+ =
+ =

R
(Eq. 3.37)
que representa a velocidade angular do referencial i em relao base (expressa no
referencial da base), em funo da velocidade angular do referencial i-1 em relao
base (expressa na base) e da velocidade do referencial i em relao ao referencial i-1.
Se a junta i for prismtica, dado que a orientao do referencial i em relao
ao referencial i-1 se mantm constante, tem-se

1
1
1
0
0
0

=
=
i i i
i
i
i
d z v
&

(Eq. 3.38)
onde z
i-1
o vector unitrio segundo o eixo da junta i.
As velocidades linear e angular so

0 0 0 0
0 0
1 0
1 1
0 0
1
0 0
i
i
i i i i i
i i
d p z v v

+ + =
=


&
(Eq. 3.39)
Se a junta i for rotativa, devido rotao do referencial i em relao ao
referencial i-1, causada pelo movimento da junta, tem-se (v = r)

0 0 0
0
1 1 1
1
1
i
i
i
i
i
i
i i i
i
p v
z

=
=


&
(Eq. 3.40)
80
As velocidades linear e angular so

0 0 0 0
0 0
1 0
1
0 0
1 1
0 0
i
i
i i i
i i i i
p v v
z


+ =
+ =


&
(Eq. 3.41)
Derivando as equaes (Eq. 3.36) e (Eq. 3.37) em ordem ao tempo vem

( )
( ) ( ) | |
1 0 0 1 0
1 0 1 0 0
1
1
0
1
0
1
0 1
1
0
1
0
1
1
0
1
0 1
1
0
1
0 0
2


+
+ + + =
i i
i i
i
i
i i i i
i
i i
i
i
i i i
i
i i i
p R p R
p R p R p p


&
& & & & & & &
(Eq. 3.42)
( )
1 0 1 0 0
1
1
0
1
0 1
1
0
1
0 0



+ + =
i i
i
i
i i i
i
i i i
R R & & & (Eq. 3.43)
As expresses (Eq. 3.42) e (Eq. 3.43) assumem distintas formas, consoante se
trate de juntas prismticas ou rotativas.
Se a junta i for prismtica a orientao do referencial i em relao ao
referencial i-1 constante, logo a velocidade e a acelerao angulares so nulas,
0
0 0
1 1
= =

i
i
i
i
& . A velocidade (acelerao) linear do referencial i em relao ao
referencial i-1 apenas tem componente no nula segundo o eixo z
i-1
, sendo
1
1
0

=
i i i
i
d z p
&
& (
1
1
0

=
i i i
i
d z p
& &
& & ). Assim, tem-se
( )
0 0
0 0 0 0 0
0 0 0
1
0 0
1
1
0
1
0 1
1
0
1 1
0
1 1
0 0
2


=
+
+ + + =
i i
i
i
i i i
i
i
i i i i i i i
d d



& &
&
& & &
& & & &
p p
z z p p
(Eq. 3.44)
onde z
i-1
o vector unitrio segundo o eixo da junta i ( um vector expresso no
referencial da base).
Se a junta i for rotativa a velocidade (acelerao) angular do referencial i em
relao ao referencial i-1 apenas tem componente no nula segundo o eixo z
i-1
(Eq.
3.40) (
1
1
0

=
i i i
i
z
& &
& ). Assim, a acelerao angular vem
81

1 1
0
1 1
0 0
0 0 0

+ + =
i i i i i i i
z z
& & &
& & (Eq. 3.45)
Derivando a equao (Eq. 3.40), a acelerao linear do referencial i em
relao ao referencial i-1
( )
0 0 0 0 0 0
1 1 1 1 1 1
i
i
i
i
i
i
i
i
i
i
i
i
p p p

+ = & & & (Eq. 3.46)
Substituindo a equao (Eq. 3.46) na equao (Eq. 3.42), a velocidade linear
do referencial i em relao base ser
( )
( )
( ) ( )
0 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0
0 0 0 0 0 0 0
1
1
0
1
0 1
1
0 1 1
1
0
1 1 1 1 1
1
0
1
1
0
1
0
1
1
0 1
1
0 1
1
0 0
2
2
i
i
i i i
i
i i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i i
i
i
i i
i
i i
i
i i
p p p
p p p
p
p p p p p

+ +
+ + + =

+ + + + =




&
& & &
& & & & & & & &
(Eq. 3.47)

( ) ( ) ( )
0 0 0 0 0 0 0
0 0 0 0 0 0
1
1
0
1
0 1 1
1
0 1
1
1
0 1 1
1
0 0
2
i
i
i i i
i
i
i
i i
i
i
i
i i
i
i
i
i i
p p
p p p p

+ +
+ + + =

& & & & & &
(Eq. 3.48)

( ) ( ) ( )
0 0 0 0 0 0 0
0 0 0 0 0 0
1
1
0
1
0 1 1
1
0 0
1
1
0 1 1
1
0 0
i
i
i i i
i
i
i
i i
i
i
i i
i
i
i
i i
p p
p p p p

+ +
+ + + =

& & & & & &
(Eq. 3.49)
( ) ( ) ( )
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
1
1
0
1
0 1 1
1
0 1 1 0
1
1
0 1 1
1
0 0
i
i
i i i
i
i
i
i i
i
i
i
i
i
i
i i
i
i
i
i i
p p p
p p p p

+ +
+ + + =

& & & & & &
(Eq. 3.50)
( ) ( ) ( ) ( )
0 0 0 0 0 0 0 0
0 0 0 0 0 0
1
1
0 1 1
1
0 1 1 0
1
1
0 1 1
1
0 0
i
i
i i
i
i
i
i i
i
i
i
i
i
i
i i
i
i
i
i i
p p p
p p p p

+ +
+ + + =

& & & & & &
(Eq. 3.51)

( ) ( )
0 0 0 0 0 0
0 0 0 0 0 0
1 0
1
0 1 1 0
1
1
0 1 1
1
0 0
i
i
i i i
i
i
i
i
i
i
i i
i
i
i
i i
p p
p p p p

+
+ + + =

& & & & & &
(Eq. 3.52)

( ) ( ) ( )
0 0 0 0 0 0 0
0 0 0 0 0 0
1 0 1 0 1 1 0
1
1
0 1 1
1
0 0
i
i
i i
i
i i
i
i
i
i
i
i
i i
i
i
i
i i
p p
p p p p

+
+ + + =

& & & & & &
(Eq. 3.53)
82
( ) ( ) ( )
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
1 0 1 1 0 0 1 1 0
1
1
0 1 1
1
0 0
i
i
i i
i
i
i
i i i
i
i
i
i
i
i
i i
i
i
i
i i
p p p
p p p p

+
+ + + =

& & & & & &
(Eq. 3.54)
Usando as propriedades do produto vectorial

( ) ( ) ( )
( ) ( ) ( ) b a c c a b c b a
c b a c a b c b a
=
=
(Eq. 3.55)
vem

( ) ( )
( ) ( )
( )
0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 1 1
1 1 0 1 0 1
1 0 1 1 0 0
1
1
0 1 1
1
0 0
i i
i
i
i
i
i
i
i
i i
i
i i
i
i
i
i i
i
i
i
i i
i
i
i i
i
i
i
i i



+
+
+ + + =


p
p p
p p
p p p p & & & & & &
(Eq. 3.56)

( ) ( )
0 0 0 0 0 0
0 0 0 0 0 0
1 1 0 1 0 0
1
1
0 1 1
1
0 0
i
i
i
i
i i
i
i i
i
i
i i
i
i
i
i i
p p
p p p p

+
+ + + =

& & & & & &
(Eq. 3.57)

( ) ( ) ( )
0 0 0 0 0 0 0
0 0 0 0 0 0
1 1 1 1 1 0 0
1
1
0 1 1
1
0 0
i
i
i
i
i
i
i
i
i
i
i i
i
i
i i
i
i
i
i i
p p
p p p p

+ +
+ + + =

& & & & & &
(Eq. 3.58)

( )
0 0 0 0 0 0 0
1 0 0 1 0
1
0 0
i
i
i i i
i
i i i
p p p p

+ + = & & & & &


(Eq. 3.59)
3.2.1 EQUAES DE NEWTON-EULER NO REFERENCIAL DA BASE
Definam-se os seguintes parmetros e vectores, todos expressos no referencial
da base:
( )
i i i
G G G
z y x , , referencial com origem no centro de massa do elo i, G
i
;
m
i
massa do elo i;

0
i
G
i
I matriz de inrcia do elo i em relao ao seu centro de massa;
83

0
0
i
G
p posio do centro de massa do elo i em relao ao referencial
da base;

0 i
G
i
p posio do centro de massa do elo i em relao ao referencial i;

0 i
G
F fora total aplicada no centro de massa do elo i;

0 i
G
N momento total aplicado no centro de massa do elo i;

0
i
f fora aplicada no elo i (origem do referencial i-1) pelo elo i-1;

0
i
n momento aplicado no elo i (origem do referencial i-1) pelo elo
i-1;
A acelerao linear do centro de massa do elo i necessria para mais tarde,
pelo que poder ser determinada desde j.
Da Figura 3.4, a posio,
0
0
i
G
p , a velocidade,
0
0
i
G
p& , e a acelerao,
0
0
i
G
p& & ,
do centro de massa do elo i em relao ao referencial da base so, respectivamente,

i i i
G
i
i i G
p R p p
0 0 0
0 0
+ = (Eq. 3.60)
( )
i i i
G
i
i i i G
p R p p
0 0 0 0
0 0 0
+ = & & (Eq. 3.61)

( ) ( ) ( )
( )
0 0 0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0 0 0 0
i i
i i i i i
G
i
i i G
i
i i
G
i
i i i G
i
i i i G
p p p
p R p R p p
+ + =
+ + =


& & &
& & & & &
(Eq. 3.62)
Note-se que o referencial G
i
est fixo relativamente ao referencial i, ambos fixos ao
elo i. As velocidades angulares dos referenciais G
i
e i em relao base so iguais:

0 0
0 0
i G
i
= (Eq. 3.63)
84
0
1
0
i
p
0
0
i
p
1
1

i
i
i
p
G
i
0
0
i
G
p
i
G
i
i
p

Figura 3.4 Referenciais associados ao elo i.
Os vectores de fora e de momento totais aplicados no centro de massa elo i
sero, respectivamente,
( )
0 0 0
0 0
i i i
G i G i G
m m
dt
d
p p F & & & = = (Eq. 3.64)
( ) ( )
0 0 0 0 0 0 0 0
0 0 0 0
i i
G
i i i
G
i i
G
G
i i i
i
dt
d
I I I N + = =
&
(Eq. 3.65)
Considere-se que
0
i
f a fora e
0
i
n o momento exercidos pelo elo i-1 no
elo i, na origem do referencial i-1.
Assim sendo,

0 0 0
1 +
=
i i G
i
f f F (Eq. 3.66)

( ) ( )
( )
0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
1
1 0
1
0
1
1
0 0 0
1
0
1
+

+
+ +
+ =
+ =
i i
i
G G i i i
i G i i G i i i G
i i
i i i
f p F p p n n
f p p f p p n n N
(Eq. 3.67)
Note-se que
0
1 + i
f a fora exercida pelo elo i no elo i+1, na origem do referencial i,
ou seja, a fora que o elo i+1 exerce no elo i simtrica da anterior.
85
Usando a relao

0 0 0 0
1
1
0 0
i i
G
i
i
i
i G
p p p p + =

(Eq. 3.68)
vem

0 0 0 0 0
1
0
1 + +
+ = + =
i G i i G i
i i
m f p f F f & & (Eq. 3.69)
( )
0 0 0 0 0 0 0 0
1
1
1
1
i i i
G G G
i
i
i
i i
i
i i
N F p p f p n n + + + + =

+

+
(Eq. 3.70)
Estas equaes so recursivas, podendo ser usadas para determinar as foras e os
momentos,
0
i
f e
0
i
n , nos elos do manipulador (i = 1, 2, n).
de notar que para um manipulador com n elos,
0
1 + n
f e
0
1 + n
n , so,
respectivamente, a fora e o momento aplicados pelo rgo terminal do manipulador
no ambiente. Por outro lado, se a base do manipulador (elo 0) estiver fixa, ento
0
0 0 0
0
0
0
0
0
0
= = = p &
&
e | |
T
z y x
g g g =
0
0
0
p& & .
Para uma junta rotativa o binrio aplicado na junta ser a projeco do vector
0
i
n em z
i-1
(possivelmente haver que somar ainda o binrio de atrito na junta). Para
uma junta prismtica a fora aplicada na junta ser a projeco do vector
0
i
f em z
i-1

(possivelmente tambm haver que somar a fora de atrito na junta) (Figura 3.5).
86
z
i-1
junta i
i
i-1

Figura 3.5 Junta i.

P junta se ,
R junta se ,
1
1
0
0
i
T
i
i
T
i
i
z f
z n
(Eq. 3.71)
O mtodo de Newton-Euler recursivo. As velocidades e as aceleraes dos
elos so calculadas comeando no elo da base, em direco ao rgo terminal
(propagao para a frente forward equations). Depois de calculadas todas as
velocidades e aceleraes, as foras e os momentos aplicados so calculados
comeando no rgo terminal, caminhando em direco base (propagao para trs
- backward equations).
Algoritmo 3.1 (Newton-Euler recursivo)
I - Propagao de velocidades e de aceleraes (forward equations)
D1. Para i = 1, 2, , n repetir os passos D2 a D5.
D2.
P junta se ,
R junta se ,
0
0
0
1
0
1 1
0
0


+
=
i
i i i
i



z
&

D3.
P junta se ,
R junta se ,
0
0 0
0
1
0
1 1
0
1 1
0
0


+ +
=
i
i i i i i i
i



&
& & &
&
&
z z

87
D4.
( )
( ) P junta se ,
2
R junta se ,
0 0 0 0 0
0 0
0 0 0 0 0 0
0
1 0 0 1 0
1
0
1 1
0
1 0 0 1 0
1
0
0
i
i
i i i
i
i
i i i i i i
i
i
i i i
i
i i
i
d d
p p
z z p
p p p
p


+
+ + +
+ +
=



&
& & &
& &
& & &
& &
D5. ( )
0 0 0 0 0 0 0
0 0 0 0 0
i i i
G
i
i i G
i
i i G
p p p p + + = & & & & &
II - Propagao de foras e momentos (backward equations)
D6. Para i = n, n-1, , 1 repetir os passos D7 a D11.
D7.
0 0
0
i i
G i G
m p F & & =
D8. ( )
0 0 0 0 0 0
0 0 0
i i
G
i i i
G
G
i i
i
I I N + =
&

D9.
0 0 0
1 +
+ =
i G i
i
f F f
D10. ( )
0 0 0 0 0 0 0 0
1
1
1
1
i i i
G G G
i
i
i
i i
i
i i
N F p p f p n n + + + + =

+

+

D11.

P junta se ,
R junta se ,
1
1
0
0
i
T
i
i
T
i
i
z f
z n

3.2.2 EQUAES DE NEWTON-EULER NOS REFERENCIAIS DOS
PRPRIOS ELOS
Se todos os vectores e parmetros associados ao elo i estiverem expressos no
referencial i, o peso computacional envolvido na determinao do modelo dinmico
de um manipulador srie com n gdl baixa consideravelmente, sendo que o tempo de
clculo passa a ser proporcional a n.
Algoritmo 3.2 (Newton-Euler recursivo nos referenciais dos prprios elos)
I - Propagao de velocidades e de aceleraes (forward equations)
D1. Para i = 1, 2, , n repetir os passos D2 a D5.
88
D2.
( ) | |
( ) P junta se ,
1 0 0 R, junta se ,
0
0
0
1
0
0
1
1
0 0 1
0
0
1
1
0
0

= +
=
i
i
i
i
T
i i
i
i
i
i
i



R R
z z R R
R

&

D3.
( ) ( )
( ) P junta se ,
R junta se ,
0
0 0
0
1
0
0
1
1
0 1
0
0
1
0 1
0
0
1
1
0
0

+ +
=
i
i
i
i
i i
i
i i
i
i
i
i
i



&
& & &
&
&
R R
z R z R R
R


D4.
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( ) ( ) ( ) ( ) P junta se ,
2
R junta se ,
0 0 0
0
0 0 0
0 0 0
0 0 0
0
1
0
0
0
0
0
0 1
0
0
1
0
0
0 1
0
0
1
0 1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
0
i
i i
i
i
i
i
i i
i
i
i
i
i i
i
i
i
i
i i
i
i
i
i
i
i
i i
i
i
i
i
i
i i
i
i
i
i
d
d
p R R R
z R R
p R R p R z R
p R R p R R
R p R R
p R


+
+ + +
+
+
=





&
& & &
& &
& &
&
& &
D5.
( ) ( )
( ) ( ) ( ) ( )
0 0 0
0 0 0 0
0
0
0
0
0
0
0
0
0
0
0
0
i
i i
G
i i
i
i
i
i
G
i i
i
i
i
i
G
i
p R R R
p R R p R p R

+ + =

& & & & &

II - Propagao de foras e momentos (backward equations)
D6. Para i = n, n-1, , 1 repetir os passos D7 a D11.
D7.
0 0
0
0 0
i i
G
i
i G
i
m p R F R & & =
D8.
( )( )
( ) ( )( ) ( )
0 0 0
0 0 0

0 0 0
0
0
0
0
0
0
0 0
i i i i
G i
i
i
i
i
i i
G i
G
i
i
i
i
R R I R R
R R I R N R

+ =
&

D9. ( )
0 0 0
0 1 0
1
1 0
i
G
i
i
i
i
i
i
i
F R f R R f R + =
+
+
+

D10.
( ) ( ) ( )
( ) ( )
0 0 0 0
0 0 0 0
0 0 0
1
0
1 0
1 1
0
1
1 0
1
1 0
i i i
G
i
G
i
G
i i
i
i i
i
i
i
i i
i
i
i
i
i
i
N R F R p R p R
f R p R n R R n R
+ +
+ + =

+
+ +
+
+
+

89
D11.
( ) ( )
( ) ( )

P junta se ,
R junta se ,
0 1 0
0 1 0
0
0
z R f R
z R n R
i
i
T
i
i
i
i
T
i
i
i

3.2.3 MODELO DINMICO DE UM MANIPULADOR CARTESIANO
Considere-se o manipulador cartesiano da Figura 3.6. Os elos tm massas m
1
,
m
2
e m
3
, sendo l
1
, l
2
e l
3
as distncias medidas desde as origens dos referenciais 1 2 e
3 aos centros de massa dos elos.
z
0
y
0
x
0
z
1
y
1
x
1
x
2
y
2
z
2
x
3
y
3
z
3

Figura 3.6 Manipulador cartesiano com 3 gdl.
Tabela 3.1 Parmetros de D-H do manipulador cartesiano.
Junta i
i

i
a
i
d
i
1 0 -90 0 d
1

2 -90 90 -a
2
d
2

3 0 0 0 d
3


90
Dado que todas as juntas so prismticas, todas as velocidades e aceleraes
angulares sero nulas.
Considere-se que a base est fixa ( 0
0
0
0
= p& ) e que o manipulador no exerce
qualquer fora no ambiente ( 0
0
4
0
= f ). Considere-se ainda que se faz sentir o efeito
da gravidade ( | |
T
g 0 0
0
0
0
= = g p& & ).
Os vectores posio que interessa considerar para mais tarde so

(
(
(

=
(
(
(

=
(
(
(

=
0
0
0
0
0
3
3
2
2 2
1
1
0
2
0
1
0
0
d
a
d
d
p p p (Eq. 3.72)

(
(
(

=
(
(
(

=
(
(
(

=
0
0 0
0
0
0
3
2
1
0 3
3
0 2
2
0 1
1
l
l
l
G G G
p p p (Eq. 3.73)
3.2.3.1 PROPAGAO DAS VELOCIDADES E DAS ACELERAES

(
(
(

=
(
(
(

+
(
(
(

= + =
1 1
0 1 0 1
0
0
0 0
0
0
0
0
0
d
g g
d
d
& & & &
& &
& &
& & p z p (Eq. 3.74)

(
(
(

=
(
(
(

+
(
(
(

= + =
1
2
1
2 1 2 1 2
0
0
0
0
0
0
0
d
d
g
d
g
d d
& &
& &
& &
& &
& &
& &
& & p z p (Eq. 3.75)

(
(
(


=
(
(
(

+
(
(
(

= + =
1
2
3
1
2
3
2 3 2 3
0
0
0
0
0
0
d
d
g d
d
d
g d
d
& &
& &
& &
& &
& &
& &
& &
& &
& & p z p (Eq. 3.76)

0
0
0 1
0
1
p p & & & & =
G
(Eq. 3.77)

0
0
0 2
0
2
p p & & & & =
G
(Eq. 3.78)
91

0
0
0 3
0
3
p p & & & & =
G
(Eq. 3.79)
3.2.3.2 PROPAGAO DE FORAS E MOMENTOS

(
(
(


= =
1
2
3
3 3
0 3
0
0 3
d
d
g d
m m
G G
& &
& &
& &
& & p F (Eq. 3.80)

(
(
(

= =
1
2 2 2
0 2
0
0 2
d
d
g
m m
G G
& &
& &
& & p F (Eq. 3.81)

(
(
(

= =
1
1 1
0
0 1
0
0 1
d
g
m m
G G
& &
& & p F (Eq. 3.82)
0
0 1 0 2 0 3
= = =
G G G
N N N (Eq. 3.83)

(
(
(


= =
1
2
3
3 3
0 3 0
d
d
g d
m
G
& &
& &
& &
F f (Eq. 3.84)

(
(
(


+
(
(
(

= + =
1
2
3
3
1
2 2 3 2
0 0 2 0
d
d
g d
m
d
d
g
m
G
& &
& &
& &
& &
& &
f F f (Eq. 3.85)

(
(
(


+
(
(
(

+
(
(
(

= + =
1
2
3
3
1
2 2
1
1 2 1
0
0 0 1 0
d
d
g d
m
d
d
g
m
d
g
m
G
& &
& &
& &
& &
& &
& &
f F f (Eq. 3.86)

0 3 0
0
0
0
0
3 3
3 G
l d
F n

(
(
(

+
(
(
(

= (Eq. 3.87)
92

0 2 0 0 0
2 2
2 3
2
2 3 2
0
0 0 0
G
l a
d
a
d F f n n

(
(
(

+
(
(
(

+
(
(
(

+ = (Eq. 3.88)

0 1 0 0 0
0
0
0
0
0
0
1
1
2
1
2 1 G
l
d d
F f n n

(
(
(

+
(
(
(

+
(
(
(

+ = (Eq. 3.89)
Os momentos so todos absorvidos pela estrutura, pelo que tm interesse
apenas do ponto de vista do dimensionamento (projecto estrutural) dessa mesma
estrutura. Assim, as foras nas juntas so
( ) g d m
T T
+ =
(
(
(

= =
3 3 3 2 3 3
0
0
1
0 0
& &
f z f (Eq. 3.90)
( )
2 3 2 2 1 2 2
0
1
0
0 0
d m m
T T
& &
+ =
(
(
(

= = f z f (Eq. 3.91)
( )
1 3 2 1 1 0 1 1
1
0
0
0 0
d m m m
T T
& &
+ + =
(
(
(

= = f z f (Eq. 3.92)
3.2.4 MODELO DINMICO DE UM MANIPULADOR 2R PLANAR
Considere-se o manipulador planar com dois gdl da Figura 3.7 (Fu et al.,
1987).
93

Figura 3.7 Manipulador planar com dois gdl.
Os referenciais, estabelecidos de acordo com o algoritmo de D-H, bem como
os parmetros geomtricos de interesse esto assinalados na figura.
As matrizes de rotao so

(
(
(


=
1 0 0
0
0
1 1
1 1
1
0
C S
S C
R (Eq. 3.93)

(
(
(


=
1 0 0
0
0
2 2
2 2
2
1
C S
S C
R (Eq. 3.94)

(
(
(


=
1 0 0
0
0
12 12
12 12
2
0
C S
S C
R (Eq. 3.95)
Assumam-se os seguintes valores
0
0 0
0
0
0
0
= = & (Eq. 3.96)
94
0
0
0
0
= p& (Eq. 3.97)
| |
T
g 0 0
0
0
0
= p& & (Eq. 3.98)
3.2.4.1 PROPAGAO DAS VELOCIDADES E DAS ACELERAES
3.2.4.1.1 Velocidade angular
Para i = 1 tem-se:

( )
1 1 1 1
1 1
1 0 0 0
1
1 0
1
1
0
0
1
0
0
1 0 0
0
0
0
0
0
0

& &
&
(
(
(

=
(
(
(

(
(
(

=
+ =
C S
S C
z R R
(Eq. 3.99)
Para i = 2 tem-se:

( )
( )
2 1 2 1 2 2
2 2
2 0 1 0
1
1
2
2 0
2
1
0
0
1
0
0
1
0
0
1 0 0
0
0
0
0
0
0

& & & &


&
+
(
(
(

(
(
(

(
(
(

(
(
(

=
+ =
C S
S C
z R R R
(Eq. 3.100)
3.2.4.1.2 Acelerao angular
Para i = 1 tem-se:
( ) | |
1 1 0 0 1 0 0 0
1
1 0
1
1 0 0
0
0
0
0
0
0

& & & & & & &
T
= + + = z z R R (Eq. 3.101)
Para i = 2 tem-se:

( ) ( )
| | ( )
2 1
2 0 1 0
1
2 0 1 0
1
1
2
2 0
2
1 0 0

0
0
0
0
0
0


& & & &
& & & & &
+ =
+ + =
T
z R z R R R
(Eq. 3.102)
95
3.2.4.1.3 Acelerao linear
Para i = 1 tem-se:

( ) ( )
( ) ( ) ( ) | |
(
(
(

+
+
=
(
(
(

(
(
(

(
(
(

(
(
(

+
(
(
(

(
(
(

=
+
+ =
0
0 0
0
1
0
0
1
0
0
0
0
1
0
0
1 1
1
2
1
1
1
1 1 1
0
0
0
1
1
0
0
1
1 0
1
1 0
1
1
0
0
1
1 0
1
1 0
1
0 0 0
0
0
0
0 0
0
0
0
gC l
gS l
gC
gS l l


& &
&
& & & &
& &
&
& &
p R p R R R
p R R p R
(Eq. 3.103)
Para i = 2 tem-se:

( ) ( )
( ) ( ) ( ) | | ( )
( )
( )
(
(
(

+ + + +
+
=
(
(
(

+
+
(
(
(

(
(
(

(
(
(

(
(
(

+
+
(
(
(

(
(
(

+
=
+
+ =
0
2
0 1 0 0
0
0
0
0 0
0
0
0
0
0 0
0
12
2
1 2 1 2 2 1
12 2 1
2
2
2
1
2
1 2 1 2
1 1
1
2
1
2 2
2 2
2 1 2 1 2 1
1
0
0
1
1
2
2
1
0
2
2 0
2
2 0
2
2
1
0
2
2 0
2
2 0
2
0 0 0
0
0
0
0 0
0
0
0
gC S C l
gS C S l
gC l
gS l
C S
S C
l l


& & & & & & &
& & & & & & &
& &
&
& & & & & & & &
& &
&
& &
p R R p R R R
p R R p R
(Eq. 3.104)
3.2.4.1.4 Acelerao linear do centro de massa
Para i = 1 tem-se:

( ) ( )
( ) ( ) ( ) | |
0 0 1
1
0
0
0
0
0 1
1
0
0
0 1
0
1
0
0
1
0
1
1 0
1
1 0
1
0
1
1 0
1
0
1
p R p R R R
p R R p R
& &
&
& &
+
+ =
G
G G
(Eq. 3.105)
96
onde,

(
(
(
(
(
(

=
0
2
2
1
1
0 1
1
S
l
C
l
G
p (Eq. 3.106)

(
(
(
(
(

=
(
(
(
(
(
(

(
(
(

=
0
0
2
0
2
2
1 0 0
0
0
1
1
1 1
1 1
0
1
0 1
1
l
S
l
C
l
C S
S C
G
p R (Eq. 3.107)
Assim,

(
(
(
(
(
(

+
+
=
(
(
(

+
+
+

(
(
(
(
(

(
(
(

(
(
(

+
(
(
(
(
(

(
(
(

=
0
2
2
0
0
0
2
0
0
0
0
0
0
2
1
0
0
1 1
1
2
1
1 1
1
2
1
1 1
1 0
1
0 1
0
gC
l
gS
l
gC l
gS l
l l
G

& &
&
& &
&
& &
& &
& & p R
(Eq. 3.108)
Para i = 2 tem-se:

( ) ( )
( ) ( ) ( ) | |
0 0 2
2
0
0
0
0
0 2
2
0
0
0 2
0
2
0
0
2
0
2
2 0
2
2 0
2
0
2
2 0
2
0
2
p R p R R R
p R R p R
& &
&
& &
+
+ =
G
G G
(Eq. 3.109)
onde,
97

(
(
(
(
(
(

=
0
2
2
12
12
0 2
2
S
l
C
l
G
p (Eq. 3.110)

(
(
(
(
(

=
(
(
(
(
(
(

(
(
(

=
0
0
2
0
2
2
1 0 0
0
0
12
12
12 12
12 12
0
2
0 2
2
l
S
l
C
l
C S
S C
G
p R (Eq. 3.111)
Assim,

( )
( )
( )
( )
(
(
(
(

+ + + +
+
=
(
(
(

+ + + +
+
+

(
(
(
(
(

(
(
(

(
(
(

+
+
(
(
(
(
(

(
(
(

+
=
0
2
1
2
1
2
1
2
1
0
2
0
0
2
0
0
0
0
0
0
2
0
0
12 2 1
2
1 2 1 2
12 2 1
2
2
2
1
2
1 2 1 2
12
2
1 2 1 2 2 1
12 2 1
2
2
2
1
2
1 2 1 2
2 1 2 1 2 1
0
2
0 2
0
gC S C l
gS C S l
gC S C l
gS C S l
l l
G





& & & & & & &
& & & & & & &
& & & & & & &
& & & & & & &
& & & & & & & &
& & p R
(Eq. 3.112)
3.2.4.2 PROPAGAO DE FORAS E MOMENTOS
Assuma-se que 0
0
3
= f e 0
0
3
= n .
3.2.4.2.1 Foras
Para i = 2 tem-se:
98

( ) ( )
( )
( )
(
(
(
(

+ + + +
+
=
= = + =
0
2
1
2
1
2
1
2
1
12 2 2 2 1
2
1 2 1 2 2
12 2 2 1
2
2
2
1
2
1 2 1 2 2
0
0
2
2 2 0
2
0
2
3 0
3
3
2
2 0
2
0 2 0 0 2 0 0
C gm S S C l m
S gm C S l m
m
G G


& & & & & & &
& & & & & & &
& & p R F R F R f R R f R
(Eq. 3.113)
Para i = 1 tem-se:

( )
( )
( )
( ) ( ) | |
( )
( ) ( ) | |
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

+ +
+ + + +
+
+ +
=
+
(
(
(
(

+ + + +
+

(
(
(


=
+ =
0
2
1
2
1
2
1
2
1
2
1
2
1
0
2
1
2
1
2
1
2
1
1 0 0
0
0
1 1 1 1 1 2
2 1 2 2 1 2
2
2
2
1 2 1 2
1 1
2
1 1 12 2 2 12 2
2 1 2 2 1 2
2
2
2
1 2
2
1 2
1
0
0
1
1 12 2 2 1
2
1 2 1 2 2
12 2 2 1
2
2
2
1 2 2 1 2 2
2 2
2 2
0
1
2 0
2
2
1
1 0
1
0
0 1 0 0
C gm l m C gm
C S S l m
S gm l m S C S C gm
S C C l m
m C gm S C l m
S gm C S l m
C S
S C
G




& &
& & & & & & & & & &
&
& & & & & & & & &
& &
& & & & & & &
& & & & & & &
p R
F R f R R f R
(Eq. 3.114)
3.2.4.2.2 Momentos
Para i = 2 tem-se:
( ) ( )
0 2 0 2 0 2 0 0
0
2
0
2 2
0
2
2
1
0
2
2 0
2
G G G
N R F R p R p R n R + + = (Eq. 3.115)
onde,
99

(
(
(

=
0
12
12
2
0
1
lS
lC
p (Eq. 3.116)

(
(
(

=
(
(
(

(
(
(

=
0
0
0 1 0 0
0
0
12
12
12 12
12 12
2 0
2
0
1
l
lS
lC
C S
S C
p R (Eq. 3.117)
Assim,
( )
( )
( )
(
(
(

+ + + +
=
(
(
(

+
(
(
(
(

+
(
(
(
(

+ + + +
+

(
(
(
(
(

=
12 2
2
1 2 1 2
2
2 2
2
2 1
2
2
2 1
2
2
2
2
12 2 2 1
2
1 2 1 2 2
12 2 2 1
2
2
2
1
2
1 2 1 2 2
2 0
2
2
1
2
1
3
1
3
1
0
0
0
0
12
1
0 0
0
12
1
0
0 0 0
0
2
1
2
1
2
1
2
1
0
0
2
0
glC m S C l m l m l m
l m
l m
C gm S C l m
S gm C S l m
l




& & & & & & &
& & & &
& & & & & & &
& & & & & & &
n R
(Eq. 3.118)
Para i = 1 tem-se:

( ) ( ) ( )
( ) ( )
0 1 0 1 0 1 0
0 0 0 0
0
1
0
1 1
0
1
1
0
0
1
2 0
2
1
0
0
2
2 0
2
2
1
1 0
1
G G G
N R F R p R p R
f R p R n R R n R
+ +
+ + =
(Eq. 3.119)
onde,

(
(
(

=
0
1
1
1
0
0
lS
lC
p (Eq. 3.120)

(
(
(

=
0
2
2
1
0
0
2
0
lS
lC
p R (Eq. 3.121)
100

(
(
(

=
0
0
0
1
0
0
1
l
p R (Eq. 3.122)
Assim,

( ) ( ) ( ) ( )
( )
0 1 0 1
0 0 0 0
0
1
0
1
2 0
2
1
0
0
2
2
1
2 0
2
2
1
1 0
1
0 0
2
G G
T
l
N R F R
f R p R R n R R n R
+
(

+ + =
(Eq. 3.123)
3.2.4.2.3 Foras aplicadas nas juntas
Para i = 2 tem-se:

( ) ( )
2
1 2
2
2 12 2 1 2
2
2
2
2
2 1
2
2 0 1
2
2 0
2
2
2
1
2
1
2
1
3
1
3
1
0


& & &
& & & &
S l m glC m C l m
l m l m
T
+ +
+ + = = z R n R
(Eq. 3.124)
Para i = 1 tem-se:

( ) ( )
1 2 12 2 1 1
2
2 2
2
2 2 1 2
2
2 2 2
2
2 1 2
2
2
2
2
2 1
2
2 1
2
1 0 1
1
1 0
1
1
2
1
2
1
2
1
2
1
3
1
3
4
3
1
0
glC m glC m glC m
S l m S l m C l m C l m
l m l m l m
T
+ +
+ +
+ + + = =


& & & & & & &
& & & & & &
z R n R
(Eq. 3.125)
Querendo representar o modelo dinmico numa forma compacta, explicitando
as matrizes de inrcia e de coriolis e centrpetos e o vector de termos gravticos,
necessrio rescrever as equaes (Eq. 3.124) e (Eq. 3.125).
Assim, os coeficientes de termos onde surgem derivadas temporais de
segunda ordem das coordenadas generalizadas, pertencem matriz de inrcia; os
coeficientes de termos onde surgem produtos de derivadas temporais de primeira
ordem pertencem matriz de Coriolis e centrpetos; os termos independentes da
velocidade pertencem ao vector de termos gravticos.
101
4 REFERNCIAS
Asada, H., Slotine, J., 1986, Robot Analysis and Control, John Wiley and Sons,
New York;
Coiffet, P., 1982, Les Robs, Tome 1: Modlisation et commande, Hermes, Paris;
Fu, K. S., Gonzalez, R. C., Lee, C. S. G., 1987, Robotics: Control, Sensing, Vision,
and Intelligence, McGraw-Hill International Editions;
Klafter, R., Chmielewski, T., Negin, M., 1989, Robotic Engineering, an Integrated
Approach, Prentice-Hall International Editions, London;
Mendes Lopes, A., 2000, Um Dispositivo Robtico para Controlo de Fora-
Impedncia de Manipuladores Industriais, Tese de Doutoramento, FEUP,
Porto, Portugal;
Mendes Lopes, A., 1995, Anlise Cinemtica e Planeamento de Trajectrias para
um Rob Industrial, Tese de Mestrado, FEUP, Porto, Portugal;
Nakamura, Y., Hanafusa, H., 1986, Inverse Kinematic Solutions With Singularity
Robustness for Robot Manipulator Control, Transactions of the ASME
Journal of Dynamic Systems, Measurement, and Control, September, vol.
108;
Paul, R., 1982, Rob Manipulators: Mathematics, Programming, and Control, The
MIT Press series in artificial intelligence;
Sciavicco, L., Siciliano, B., 1996, Modeling and Control of Robot Manipulators,
McGraw-Hill International Editions;
Torby, B., 1984, Advanced Dynamics for Engineers, CBS College Publishing, New
York;
Vukobratovic, M., Kircanski, M., 1986, Scientific Fundamentals of Robotics 3:
Kinematics and Trajectory Synthesis of Manipulation Robs, Springer-
Verlag;
Yoshikawa, T., 1990, Foundations of Robotics, Analysis and Control, The MIT
Press, Cambridge, Massachusetts;