Download - [Apostila] Robótica Industrial - FEUPE
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
1/101
Mest rado em Automao, Inst rumentao e Controlo
Robtica Industrial
Textos
Modelao Cinemtica e Dinmica de
Manipuladores de Estrutura em Srie
Elaborados por:
Antnio Mendes Lopes
2001/ 2002
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
2/101
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 (Klafteret 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,
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
3/101
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
(Klafteret 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 manipuladore 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 deobstculos);
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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
4/101
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
Sensoresinte
rnos
Transmisso
Actuadores
Ambiente
Sensoresexternos
Interaco
Unidadedepotncia
Controlador
Estrutura mecnica Modelo do manipulador
Modelo do ambiente
Algoritmo de controlo
Gerador de trajectrias
Comando
Potncia
Comando
Descrio da tarefa
Linguagem deprogramao
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,
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
5/101
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 dorgo 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
6/101
6
Manipulador
Sensoresinternos
Transmisso
Actuadores
Unidadedepotncia
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/31/2019 [Apostila] Robtica Industrial - FEUPE
7/101
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 epassivas. 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,
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
8/101
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 permiterelacionar 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: acinemtica 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
9/101
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 60001.
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 OXYZe OUVWtm a
mesma origem no ponto O. O referencial OXYZ encontra-se fixo, enquanto que oreferencial OUVWpode rodar relativamente a OXYZ. Fisicamente pode considerar-se
OUVWcomo estando solidrio com um corpo rgido, por exemplo, com um elo de
um rob manipulador.
1Trata-se de um robot industrial 6R, com accionamento por motores de corrente contnua, desenvolvido pelaTexas Instruments, Inc. em 1980.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
10/101
10
Sejam (ix,jy, kz) e (iu,jv, kw) os vectores unitrios segundo, respectivamente,
os eixos de OXYZe OUVW. Um ponto p no espao pode ser representado pelas suas
coordenadas, expressas quer em OXYZquer em OUVW. Por simplicidade, assuma-se
que p est fixo em relao a OUVW. Assim, p pode ser representado por
[ ]Twvuuvw ppp=p (Eq. 2.1a)
em OUVW, e
[ ]Tzyxxyz ppp=p (Eq. 2.1b)
em OXYZ.
Pretende-se determinar a transformao matricial uvwxyz
RR= que converte as
coordenadas de p expressas em relao a OUVW, puvw, nas coordenadas de p
expressas em relao a OXYZ, pxyz, depois do corpo solidrio com o referencial
OUVWter sofrido uma rotao. Isto ,
pxyz = Rpuvw (Eq. 2.2)
Recordando a definio de componentes de um vector, tem-se
puvw =puiu +pvjv +pwkw (Eq. 2.3)
ondepu,pv,pw representam, respectivamente, as componentes (ou as projeces) de p
segundo os eixos OU, OVe OW. Ento, usando a definio de produto escalar e aequao (Eq. 2.3), tem-se (propriedade distributiva do produto escalar)
px = ixp = ixiu pu + ixjv pv + ixkw pw
py =jyp =jyiu pu +jyjv pv +jykw pw (Eq. 2.4)
pz = kzp = kziu pu + kzjv pv + kzkw pw
ou, na forma matricial,
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
11/101
11
=
w
v
u
wzvzuz
wyvyuy
wxvxux
z
y
x
p
p
p
p
p
p
kkjkik
kjjjij
kijiii
(Eq. 2.5)
Usando esta notao, a matriz Rna equao (Eq. 2.2) dada por
=
wzvzuz
wyvyuy
wxvxux
kkjkik
kjjjij
kijiii
R (Eq. 2.6)
Note-se que as colunas da matriz Rrepresentam as coordenadas dos eixos principais
do referencial OUVWem relao ao referencial OXYZ, isto , representam os cosenosdirectores dos eixos do referencial OUVWem 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 puvw a partir das
coordenadas de pxyz atravs da equao matricial
puvw = Q pxyz (Eq. 2.7)
ou
=
z
y
x
zwywxw
zvyvxv
zuyuxu
w
v
u
p
p
p
p
p
p
kkjkik
kjjjij
kijiii
(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 = R1 = RT (Eq. 2.9)
e
QR= RTR= R1R= I3 (Eq. 2.10)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
12/101
12
onde I3 representa a matriz identidade de dimenso 33. As matrizes R e Q so
ortogonais.
Sendo os vectores (ix, jy, kz) e (iu,jv, kw) unitrios, as transformaesrepresentadas 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 OUVWsofrer uma rotao de um ngulo segundo o eixo OX, ento o
ponto puvw de coordenadas [ ]Twvu ppp em relao a OUVW, ter diferentes
coordenadas [ ]Tzyx ppp em relao a OXYZ. A transformao Rx, chama-se
matriz de rotao segundo OXde um ngulo e poder ser deduzida a partir dos
conceitos desenvolvidos anteriormente. Assim, vem
pxyz = Rx,puvw (Eq. 2.11)
com ixiu e
=
=
cossen0
sencos0
001
,
wzvzuz
wyvyuy
wxvxux
x
kkjkik
kjjjij
kijiii
R (Eq. 2.12)
De modo semelhante podem ser obtidas as matrizes de rotao segundo OY
de um ngulo e de rotao segundo OZde um ngulo (Figura 2.2):
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
13/101
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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
14/101
14
Figura 2.2c Rotao do corpo rgido da Figura 2.1 de um ngulo segundo o eixo
OZ.
=
cos0sen
010
sen0cos
,yR
=
100
0cossen
0sencos
,
zR (Eq. 2.13)
As matrizes Rx,, Ry, e Rz, so chamadas matrizes de rotao bsicas ou
elementares. Como se ver, rotaes mais complexas podem ser tratadas custadestas transformaes elementares.
2.1.2 COMPOSIO DE MATRIZES DE ROTAO
Viu-se na seco anterior como representar matematicamente a rotao de um
referencial OUVWsegundo cada um dos eixos de um referencial fixo OXYZ.
Se, em vez de uma rotao simples em torno de um dos eixos de OXYZ, oreferencial 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 OUVWde um ngulo
segundo o eixo OX, seguida da rotao de um ngulo segundo OZe, por ltimo, da
rotao de um ngulo segundo OY
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
15/101
15
+
+
=
==
SSSCCSCCSSCS
SCCCS
CSSSCCSCSSCC
CS
SCCS
SC
CS
SC
xzy
0
0
001
100
0
0
0
010
0
,,, RRRR
(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 OZe seguida da rotao de um ngulo segundo
OX. Para esta sequncia a matriz de rotao vem
+
+
=
==
CCSSSCSSCCSS
CSSSCCCSSCSC
SCSCCCS
SC
CS
SC
CS
SCyzx
0
010
0
100
0
0
0
0
001
,,, RRRR
(Eq. 2.15)
Poder ainda haver interesse em representar rotaes de OUVWem torno dos
seus prprios eixos, OU, OVe 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 I3;
se OUVWrodar de um determinado ngulo em torno de um dos eixos de
OXYZ, deve-se pr-multiplicara matriz de rotao, calculada at esse
momento, pela matriz de rotao bsica apropriada: (Eq. 2.12) e (Eq.
2.13);
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
16/101
16
se OUVW rodar de um determinado ngulo em torno de um dos seus
prprios eixos, deve-se ps-multiplicara 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 OUVWpode tambm rodar de um ngulo em torno de
um vector arbitrrio r de componentes rx, ry e rz e passando pela origem O. Para
determinar a matriz de rotao Rr,, em primeiro lugar, faz-se uma sequncia derotaes segundo os eixos principais de OXYZ, de modo a alinhar o vectorr 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 vectorr na sua
situao inicial.
Observe-se a Figura 2.3. O alinhamento de OZcom r pode ser feito atravs da
rotao de um ngulo em torno de OX(r fica no planoXZ), seguida da rotao de
um ngulo em torno de OY(r fica alinhado com OZ).
Figura 2.3 Rotao em torno de um vector arbitrrior.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
17/101
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 Rr,
resultante vem
=
=
CS
SC
CS
SC
CS
SC
CS
SC
CS
SC
xyzyxr
0
0
001
0
010
0
100
0
0
0
010
0
0
0
001
,,,,,, RRRRRR
(Eq. 2.16)
Tendo em conta a Figura 2.3 tem-se
22sen
zy
y
rr
r
+=
22cos
zy
z
rr
r
+= (Eq. 2.17a)
sen= rx22cos zy rr += (Eq. 2.17b)
Substituindo na equao (Eq. 2.16) vem
++
++
++
=
CVrSrVrrSrVrr
SrVrrCVrSrVrr
SrVrrSrVrrCVr
zxzyyzx
xzyyzyx
yzxzyxx
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).
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
18/101
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(Rz,);
rotao de um ngulo segundo o eixo rodado OV, isto , OV (Rv,);
rotao de um ngulo segundo o eixo rodado OU, isto , OU(Ru,).
Dado o vector de ngulos de Euler, [ ]T= , a matriz resultante
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
19/101
19
+
+
=
=
==
CCSSS
SCCSSCCSSSCS
SSCSCCSSSCCC
CS
SC
CS
SC
CS
SC
asn
asn
asn
zzz
yyy
xxx
uvz
0
0
001
0
010
0
100
0
0
,,,,, RRRR
(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 umngulo em torno de OX, seguida da rotao de um ngulo em torno de OYe 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
nx = cos cos (Eq. 2.20)
ny = sen cos (Eq. 2.21)
nz = sen (Eq. 2.22)
sx = cos sen sen sen cos (Eq. 2.23)
sy = sen sen sen + cos cos (Eq. 2.24)
sz = cos sen (Eq. 2.25)
ax = cos sen cos + sen sen (Eq. 2.26)
ay = sen sen cos cos sen (Eq. 2.27)
az = cos cos (Eq. 2.28)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
20/101
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
nx sen ny cos= 0 (Eq. 2.29)
e
kn
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
nx cos + ny sen = cos (Eq. 2.31)
Combinando a equao (Eq. 2.31) com a equao (Eq. 2.22) vem
knn
n
yx
z 2sencosarctan ++
= (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:
ax sen ay cos = sen (Eq. 2.33)
Por outro lado, multiplicando a equao (Eq. 2.23) por sen , multiplicandoa equao (Eq. 2.24) por cos e somando as duas equaes resulta
sx sen + sy cos = cos (Eq. 2.34)
Combinando as equaes anteriores vem
kss
aa
yx
yx
2cossen
cossenarctan ++
= (Eq. 2.35)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
21/101
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 [ ]Tzyx ppp=p , no espao 3D, acrescentada uma
quarta componente, de modo a p ser transformado em [ ]Tzyx wwpwpwp=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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
22/101
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 [ ]Tzyx ppp=p representado pelo
vector aumentado [ ]Tzyx wwpwpwp=p verificando-se as relaes
w
wpp
w
wpp
w
wpp zz
y
yx
x === (Eq. 2.36)
No existe uma representao nica para um vector em coordenadashomogneas.
Assim, [ ]Tzyx wpwpwpw 11111 =p ou [ ]T
zyx wpwpwpw 22222 =p
podem ser consideradas representaes vlidas para o vector [ ]Tzyx ppp=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
aperspectiv
deefeitooposivectororotamatriz
131
1333
f
pRT (Eq. 2.37)
A submatriz R33 representa a matriz de rotao (i. e., a orientao do
referencial mvel em relao ao referencial fixo), a submatriz p31 representa o
vector posio da origem do referencial mvel em relao ao referencial fixo, a
submatriz f13 representa o efeito de perspectiva e o quarto elemento da diagonalprincipal representa o factor de escala.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
23/101
23
A matriz de rotao 33 pode ser aumentada para 44, transformando-se
assim numa matriz homognea, Trot, 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
=
1000
0cossen0
0sencos0
0001
,
xT (Eq. 2.38a)
=
1000
0cos0sen 0010
0sen0cos
,
yT (Eq. 2.22b)
=
1000
0100
00cossen
00sencos
,
zT (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 OUVWem relao
ao referencial OXYZ. Assim, OUVWtem eixos paralelos ao referencial OXYZ, mas a
sua origem encontra-se deslocada de (dx, dy, dz) deste referencial
=
1000
100
010
001
dz
dy
dx
tranT (Eq. 2.39)
Esta matriz chamada de matriz homognea de translao bsica ou elementar.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
24/101
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,
uvwxyz pTp = (Eq. 2.40)
e
=
= 10001000
pasn
T zzzz
yyyy
xxxx
pasn
pasn
pasn
(Eq. 2.41)
kw
P
ix
xyzp
jy
kz
jv
iuuvwuvw
xyz pR 1O
p
O
O1
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 OUVWem relao a OXYZ. A quarta coluna da matriz de
transformao homognea representa a posio da origem do referencial OUVWem
relao ao referencial OXYZ. Por outras palavras, uma matriz homognea representa
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
25/101
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, omesmo 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
=
=
10001000
331
papsR
pn
paps
pn
T T
TT
T
T
zyx
T
zyx
T
zyx
aaasss
nnn
(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 OXYZem 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) I4;
se o referencial OUVWsofrer uma rotao/translao segundo um dos
eixos principais de OXYZ, ento deve-se pr-multiplicar a matriz
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
26/101
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
27/101
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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
28/101
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 (x0, y0, z0) na base de suporte, com o eixo z0 coincidindo
com o eixo da junta 1. Os eixos x0 e y0 podem ser convenientemente
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
29/101
29
estabelecidos (de acordo com regra da mo direita) e so
perpendiculares a z0.
D2.Incio. Para cada i, i = 1,...,n1, executar os passos D3 a D6.
D3.Estabelecimento dos eixos das juntas. Fazer coincidirzi com o eixo
da junta i+1.
D4. Estabelecimento da origem do referencial i. Colocar a origem do
referencial i na interseco dos eixos zi e zi1 ou na interseco da
perpendicular comum aos eixos zi e zi1 e o eixo zi.
D5. Estabelecimento do eixo xi. Estabelecer )(
)(
1
1
ii
ii
i zz
zz
x
=
ou
segundo a perpendicular comum entre zi1 e zi, quando estes so
paralelos (de zi1 para zi).
D6. Estabelecimento do eixo yi. Fazer)(
)(
ii
iii
xz
xzy
+= de modo a
completar o referencial de acordo com a regra da mo direita.
D7. Estabelecimento do referencial do rgo terminal. Estabelecer xn
de modo a seja perpendicular a zn1. Se a ltima junta for rotativa,
alinharzn com zn1. Colocar yn 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 di. O parmetro di a distncia da origem do referencial
i1 at interseco de zi1 com xi segundo zi1. varivel se a junta i
prismtica.
D10.Determinar ai. O parmetro ai a distncia desde a interseco de
zi1 com xi, origem do referencial i, segundo xi.
D11. Determinari. O parmetro i o ngulo entre xi1 e xi, segundo
zi1 varivel se i rotativa.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
30/101
30
D12. Determinari. O parmetro i o ngulo entre zi1 e zi, segundo
xi.
Dadas estas regras, a escolha da origem do referencial 0, a colocar na base de
suporte, livre, desde que o eixo z0 coincida com o eixo da primeira junta. O ltimo
referencial pode tambm ser colocado em qualquer ponto do rgo terminal, desde
que o eixo xn seja perpendicular ao eixo zn1 (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 aFigura 2.9, pode ver-se que o referencial i sofreu as seguintes transformaes
relativamente ao referencial i1:
rotao em torno de zi1 de um ngulo i, para alinhar o eixo xi1 com o
eixo xi (o eixo xi1 paralelo a xi, apontando no mesmo sentido);
translao segundo zi1, da distncia di, de modo a colocar coincidentes
os eixos xi1 e xi;
translao segundo xi, da distncia ai, para colocar coincidentes as
origens e os eixos x;
rotao segundo xi de um ngulo i, para tornar os dois referenciais
coincidentes.
Cada uma das quatro transformaes referidas acima pode ser descrita poruma matriz homognea bsica e o seu produto d origem a uma matriz homognea
i
iA1
, conhecida por matriz de D-H para os referenciais i e i1. Assim, vem
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
31/101
31
=
=
=
1000
cossen0
sencossencoscossen
cossensensencoscos
1000
0cossen0
0sencos0
0001
1000
0100
0010
001
1000
0100
00cossen
00sencos
1000
100
0010
0001
,,,,1
iii
iiiiiii
iiiiiii
ii
ii
i
ii
ii
i
xaxzdzi
i
d
a
a
a
d
TTTTA
(Eq. 2.43)
Usando a equao (Eq. 2.42), a inversa desta matriz
[ ]
==
1000
coscoscossensensen
sensencoscossencos
0sencos
1
11
iiiiiii
iiiiiii
iii
i
i
i
i
d
d
a
AA (Eq. 2.44)
onde, para uma junta rotativa, i, ai e di so constantes, enquanto que i varivel.
Para uma junta prismtica, a varivel di, enquanto que i, ai e i so constantes.
Usando a matriz ii
A1 pode relacionar-se um ponto pi, 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
ii
i
i pAp
1
1
= (Eq. 2.45)
onde pi1 = [xi1yi1zi1]Te pi = [xiyizi]
T.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
32/101
32
2.1.11 EQUAES DA CINEMTICA
A matriz homognea iT0 , que especifica a localizao do referencial i em
relao ao referencial da base, pode ser encontrada fazendo o produto das sucessivas
transformaes ii
A1 :
=
=
=== =
101000
21,
00
1
112
11
00
iiiiii
i
j
j
j
i
i
i ,...,n,para i
pRpzyx
AAAAT K
(Eq. 2.46)
onde
[xi, yi, zi] = matriz de orientao do referencial i, estabelecido no elo i,
em relao base. uma matriz com dimenso 33;
pi = 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 60AT= , 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:
=
=
=
=
1000
1000101000
60
60
6666
zzzz
yyyy
xxxx
pasn
pasn
pasn
pasnpRpzyxT
(Eq. 2.47)
onde (Figura 2.10),
n = normal. Vector perpendicular ao rgo terminal. Assumindo umrgo terminal como na Figura 2.10, n perpendicular aos dedos;
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
33/101
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 = Vectorposio 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:
HTBT 60=ferr
ref (Eq. 2.48)
Notar que ferrAH6 e 0AB
ref .
A soluo das equaes da cinemtica directa de um rob manipulador com 6
gdl resume-se ao clculo da matriz 60AT= , que conseguido multiplicando as seis
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
34/101
34
matrizes ii
A1 , 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 = [q1 q2 q3 q4 q5 q6]T, onde qi = i para uma
junta rotativa e qi = di para uma junta prismtica.
Uma vez obtidas as matrizes ii
A1 , 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
35/101
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 () ai di
1 90 90 0 d1
2 90 90 0 d2
3 90 0 0 d3
4 0 90 0 0
5 0 90 0 0
6 0 0 0 d6
As transformaes homogneas so:
=
1000
010
0000
1
11
11
10
d
CS
SC
A
=
1000
010
0000
2
22
22
21
d
CS
SC
A (Eq. 2.49)
=
1000
100
0001
0010
33
2
dA
=
1000
0010
00
00
44
44
43 CS
SC
A (Eq. 2.50)
=
1000
0010
00
00
55
55
54 CS
SC
A
=
1000
100
00
00
6
66
66
65
d
CS
SC
A (Eq. 2.51)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
36/101
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 () ai di
1 90 90 0 0
2 0 0 a2 d2
3 90 90 a3 0
4 0 90 0 d4
5 0 90 0 0
6 0 0 0 d6
As transformaes homogneas so:
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
37/101
37
=
1000
0010
00
00
11
11
10 CS
SC
A
=
1000
100
0
0
2
2222
2222
21
d
SaCS
CaSC
A (Eq. 2.52)
=
1000
0010
0
0
3333
3333
32 SaCS
CaSC
A
=
1000
010
00
00
4
44
44
43
d
CS
SC
A (Eq. 2.53)
=
1000 0010
00
00
55
55
54 CS
SC
A
=
1000 100
00
00
6
66
66
65
d
CS
SC
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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
38/101
38
Tabela 2.3 Parmetros de D-H para o manipulador TI ER 6000.
Junta i () i () ai (mm) di (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:
=
10000010
00
00
11
11
10 CS
SC
A
=
1000100
0
0
2
2222
2222
21
d
SaCS
CaSC
A (Eq. 2.55)
=
1000
0010
00
00
33
33
32 CS
SC
A
=
1000
010
00
00
4
44
44
43
d
CS
SC
A (Eq. 2.56)
=
1000
0010
00
00
55
55
54 CS
SC
A
=
1000
100
00
00
6
66
66
65
d
CS
SC
A (Eq. 2.57)
Ento, a matriz T do rob manipulador TI ER 6000 vem
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
39/101
39
==
1000
65
54
43
32
21
10
zzzz
yyyy
xxxx
pasn
pasn
pasn
AAAAAAT (Eq. 2.58)
onde
[ ] )()( 646541652364654231 SCCCSSCSSSSCCCCCnx += (Eq. 2.59)
[ ] )()( 646541652364654231 SCCCSCCSSSSCCCCSny ++= (Eq. 2.60)
65236465423 )( CSCSSCCCSnz = (Eq. 2.61)
[ ] )()( 646541652364654231 CCSCSSSSSCSSCCCCsx +++= (Eq. 2.62)
[ ] )()( 646541652364654231 CCSCSCSSSCSSCCCSsy ++++= (Eq. 2.63)
65236465423 )( SSCCSSCCSsz ++= (Eq. 2.64)
54152354231 )( SSSCSSCCCax += (Eq. 2.65)
54152354231 )( SSCCSSCCSay ++= (Eq. 2.66)
5235423 CCSCSaz += (Eq. 2.67)
[ ] )()( 2546122423523542361 dSSdSCadSCSSCCdCpx ++++= (Eq. 2.68)
[ ] )()( 2546122423523542361 dSSdCCadSCSSCCdSpy +++++= (Eq. 2.69)
2242354235236 )( SadCSCSCCdpz += (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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
40/101
40
de controlo, bem como para alguns algoritmos de clculo da cinemtica de posio
inversa.
Nesta seco (e respectivas sub-seces) so estudadas as relaesdiferenciais, 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
00
0
pRT nn (Eq. 2.71)
Pretende-se agora determinar a relao entre as velocidades linear e angular
do rgo terminal,0
0n
v e0
0n
, em relao ao referencial da base e expressas no
referencial da base, e as velocidades das juntas, q&
qJ
J
v&
=
O
P
n
n
0
00
0
(Eq. 2.72)
em que JP e JO 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
( )qqJ
v&=
0
00
0
n
n(Eq. 2.73)
com
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
41/101
41
=
O
P
J
JJ (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,0n
f ,
atravs da equao
0nT fJ = (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 aA. SejaAP
Ap o vector posio do
ponto P em relao a A, expresso em A;BP
Bp o vector posio do ponto P em
relao a B, expresso em B; eAB
Ap o vector posio do ponto B em relao a A,
expresso emA (Figura 2.14).
P
AP
ApA
AB
A
p BPB
pB
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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
42/101
42
BAA P
B
B
A
B
A
P
A pRpp += (Eq. 2.76)
AAA P
B
B
A
P
A ppp += (Eq. 2.77)
A velocidade de P em relao ao referencialA, expressa emA, ser
AAA P
B
B
A
P
A ppp &&& += (Eq. 2.78)
SendoAP
B p um vector definido no referencial B, sabido, da mecnica
clssica, que a sua derivada temporal
AAAA P
B
B
A
rotP
B
P
Bppp += && (Eq. 2.79)
onderot
P
B
Ap& representa a derivada do vector
AP
Bp no referencial que est a rodar,
ao passo queAP
Bp& a sua derivada no referencial fixo (sempre que no haja risco de
confuso o smbolo ( )rot
poder ser omitido). Assim,
AAAAA P
B
B
A
rotP
B
B
A
P
Apppp ++= &&& (Eq. 2.80)
( )BABAA P
B
B
A
B
A
rotP
B
B
A
B
A
P
ApRpRpp ++= &&& (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:
( ) ( ) ( )+= rotdt
d
dt
d(Eq. 2.82)
Note-se que, da equao (Eq. 2.76), tambm se pode escrever
BBAA P
B
B
A
rot
P
B
B
A
B
A
P
ApRpRpp &&&& ++= (Eq. 2.83)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
43/101
43
ou seja,
( )BA
BBBBB
P
B
B
A
B
A
P
B
B
A
B
A
B
A
P
B
B
A
B
A
P
B
B
A
pR
pRRpRpR
=
==&(Eq. 2.84)
2.2.1.2 VELOCIDADES LINEAR E ANGULAR DE UM ELO DA ESTRUTURA
Sejam01
0ip e 0
0i
p os vectores posio das origens dos referenciais,
respectivamente, i-1 e i, expressos no referencial 0 (Figura 2.15).
010
ip
0
0i
p
1
1
ii
i p
Figura 2.15 Relao entre os referenciais i-1 e i.
Seja ainda1
1
ii
i p o vector posio do referencial i, em relao ao referencial
i-1, expresso no referencial i-1. O vector0
0
i
p pode ser representado por
100
11
01
00
+= ii
i
iiipRpp (Eq. 2.85)
ou seja
1000
10100
1
1
0
1
01
1
0
11
01
011
01
00
++=
++=
i
ii
i
i
iii
i
i
i
i
iii
i
iii
pRvp
pRpRpp
&
&&&
(Eq. 2.86)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
44/101
44
que representa a velocidade linear do elo i em funo das velocidades linear e angular
do elo i-1. Notar que0
1i
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
00
100
11
0
11
01
00
i
i
i
i
i
iii 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
11
1
0
00
=
=
iii
i
i
i
dzv &
(Eq. 2.88)
onde zi-1 o vector unitrio segundo o eixo da junta i.
As velocidades linear e angular so
0000
00
1011
00
100
i
i
iiiii
ii
d pzvv
++=
=
&(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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
45/101
45
000
0
111
11
i
i
i
i
i
i
iii
i
pv
z
=
=
&(Eq. 2.90)
As velocidades linear e angular so
0000
00
101
00
1100
i
i
iii
iiii
pvv
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
JJ L
1
1(Eq. 2.92)
em que JPi e JOi so vectores de dimenso 31.
A expressoPii
q J& representar a contribuio da junta i para a velocidade
linear do rgo terminal, enquanto que Oiiq J& representar a contribuio da mesma
junta para a velocidade angular.
Se se tratar de uma junta prismtica (qi = di) tem-se
0J
0J
=
=
Oi
Oiiq&(Eq. 2.93)
1
1
=
=
iPi
iiPii dq
zJ
zJ &&(Eq. 2.94)
Se se tratar de uma junta rotativa (qi = i) tem-se
1
1
=
=
iOi
iiOiiq
zJ
zJ &&
(Eq. 2.95)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
46/101
46
0
0
00
11
11
11
n
i
iPi
n
i
ii
n
i
i
i
Piiq
pzJ
pz
pJ
=
=
=
&
&
(Eq. 2.96)
Para um manipulador com 6 gdl tem-se
[ ] )()()()()()( 6216
06
0
0
0 tt qqJqJqJqqJ
v&K& ==
(Eq. 2.97)
onde J(q) uma matriz de dimenso 66 cuja coluna de ordem iJi(q) dada pela
equao seguinte
=
ticaprismjuntaase0
rotativajuntaase
)(
1
1
61
1 0
i
i
i
i
i
i
i
z
z
pz
qJ (Eq. 2.98)
[ ])()()( 61 tqtqt &K&& =q um vector que representa a velocidade das juntas, 061pi
o vector posio que corresponde quarta coluna das matrizes 61T
i expresso no
referencial da base e zi1 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
=
510
65
561
160
0 000)(zzz
pzpzpzJ
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, Jn , dado por
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
47/101
47
JR0
0RJ
=
0
0
n
n
n (Eq. 2.100)
2.2.2 JACOBIANO DE NGULOS DE EULER
O significado fsico do vector velocidade angular,0
0i
, mais intuitivo que
o do vector de derivadas de ngulos de Euler, [ ]T &&&& = . O vector0
0i
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 vector0
0i
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:
[ ] [ ] 21,020;10,00200
00 tt Ti
T
i ======== (Eq. 2.101)
[ ] [ ] 21,002;10,02000
00 tt Ti
T
i ======== (Eq. 2.102)
em qualquer dos casos o integral de0
0i
resulta no mesmo valor. Porm, a
orientao final do corpo diferente nos dois casos (Figura 2.16).
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
48/101
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: Rn
Rm
.
Diferenciando a equao (Eq. 2.103) em ordem ao tempo vem
tt d
d)f(
d
d q
q
qx
= (Eq. 2.104)
ou
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
49/101
49
qJx && E= (Eq. 2.105)
onde,q
qJ
)f(=E R
mxn um jacobiano.
Sendo m = 6 (coordenadas cartesianas e ngulos de Euler), JE o chamado jacobiano
de ngulos de Euler.
Notar que JE tambm poder ser obtido a partir de J. De facto, a relao entre
a velocidade angular,0
0n
, e a primeira derivada temporal dos ngulos de Euler,
[ ]T &&&& = , bem conhecida da cinemtica, sendo (Vukobratovic eKircanski, 1986)
=
&
&
&
AnJ
0
0 (Eq. 2.106)
em que
=
S
SCC
CCS
A
01
0
0
J (Eq. 2.107)
Rescrevendo
=
2
1
0
00
0
q
qJ
v
&
&
n
ncomo
=
2
1
2221
1211
0
00
0
q
q
JJ
JJv
&
&
n
n(Eq. 2.108)
e substituindo0
0n
por J &A vem
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
50/101
50
=
2
1
221
211
1211
0
00
0
q
q
JJJJ
JJv
&
&
&AAn
n(Eq. 2.109)
Refira-se que, quando = 90, devido indeterminao introduzida pelarepresentao de ngulos de Euler, a transformao JA singular ( { } 0det =AJ ). Isto
implica que JE 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 decoordenadas no espao das juntas que torna nulo o determinante do jacobiano (se J
singular JE 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
51/101
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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
52/101
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 umsubproblema 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: Twwww zyx pppd == app 60
0;
resolver o problema da cinemtica inversa para o brao;
calcular a matriz de orientao ( )32130 ,, qqqR ;
calcular a matriz( ) ( ) ( )
,,,,,,6
0
3213
0
6546
3 RRR = qqqqqq T ;
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
53/101
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: app 60
0d
w= .
Neste caso, a posio do punho coincide com a origem do referencial 3, sendo
que pode ser lida directamente da matriz 30 A (quarta coluna):
+
+
=
=
1123
21213
21213
32
21
10
30
dCd
dCSSd
dSSCd
MMM
AAAA
(Eq. 2.110)
Assim, vem
+
+
=
123
21213
21213
dCd
dCSSd
dSSCd
p
p
p
z
y
x
w
w
w
(Eq. 2.111)
Multiplicando ambos os membros da equao anterior por ( ) 110
A vem
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
54/101
54
=
+
+
2
23
23
11
11
d
Cd
Sd
CpSp
p
SpCp
yx
z
yx
ww
w
ww
(Eq. 2.112)
Fazendo ( )2tan 1=t tem-se
212
2
1 1
2,
1
1
t
tS
t
tC
+=
+
= (Eq. 2.113)
Substituindo nos terceiros elementos da equao (Eq. 2.112) resulta a seguinte
equao de segunda ordem
02 22
2 =+++ yxy www pdtptpd (Eq. 2.114)
y
yxx
w
www
pd
dpppt
+
+=
2
22
22
(Eq. 2.115)
yyxx wwwwpddppp ++= 2
22
221 ,2atan2 (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
23
2311
Cd
Sd
p
SpCp
z
yx
w
ww
=
+(Eq. 2.117)
zyx wwwpSpCp ,2atan 112 += (Eq. 2.118)
Elevando ao quadrado e somando as duas primeiras componentes da equao
(Eq. 2.112) tem-se (s interessa a soluo d3 > 0)
( )22
113 , zzyx wwww ppSpCpd ++= (Eq. 2.119)
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
55/101
55
2.3.2.2 BRAO ANTROPOMRFICO (MANIPULADOR TI ER 6000 COM d2 = 0
OU PUMA COM d2 = 0 E a3 = 0)
Para facilitar a anlise considerem-se os parmetros de D-H d2
= 0 e a3
= 0,
relativamente ao manipulador PUMA e d2 = 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: app 60
0d
w= .
Neste caso, a posio do punho coincide com a origem do referencial 4, pelo
que pode ser lida directamente da matriz 40 A (quarta coluna):
+
+
=
=
1
22234
2122314
2122314
43
32
21
10
40
SaCd
CSaSSd
CCaSCd
MMM
AAAAA
(Eq. 2.120)
Assim, vem
+
+
=
22234
2122314
2122314
SaCd
CSaSSd
CCaSCd
p
p
p
z
y
x
w
w
w
(Eq. 2.121)
Por uma questo de geometria fcil verificar que
xy wwpp ,2atan1 = (Eq. 2.122)
ouxy ww
pp ,2atan1 += , 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 323223 SCCSS += e 323223 CCCCC = vem
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
56/101
56
( )
( )3232224
323222422
24
222
2
2
SSCCSad
SCCSCadadpppzyx www
+++=++(Eq. 2.123)
32422
24
222 2 Sadadpppzyx www
++=++ (Eq. 2.124)
24
22
24
222
3 2 ad
adpppS
zyx www++
= (Eq. 2.125)
233 1 SC = (Eq. 2.126)
( )333 ,2atan CS= (Eq. 2.127)
Elevando ao quadrado e somando os dois os primeiros elementos na equao
(Eq. 2.121) resulta a equao
2222234 yx ww
ppCaSd +=+ (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
yx
w
ww
pSaCd
ppCaSd
22234
2222234
(Eq. 2.129)
( )222
23422
34
2
zyx
zyx
www
www
ppp
paSdppCdS
++
++= (Eq. 2.130)
( )222
2234234
2
zyx
yxz
www
www
ppp
ppSdaCdpC
++
+++= (Eq. 2.131)
( )222 ,2atan CS= (Eq. 2.132)
Como se pode ver existem quatro solues para o brao, as quais
correspondem s seguintes configuraes (Figura 2.17):
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
57/101
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 deuma 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
58/101
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 quaisquersolues 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 dasjuntas, 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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
59/101
59
Minimizao do erro quadrtico mdio entre o ltimo vector calculado e o
vector candidato a soluo
Considere-se o vector qact de coordenadas no espao das juntascorrespondente situao actual, xact, do rgo terminal. Dado o vector qseg, de
coordenadas no espao das juntas, candidato a soluo para o vector xseg, de
coordenadas operacionais seguinte,a funo a minimizar
=
6
1
2,, )(min
i
segiactii qqc (Eq. 2.133)
em que, ci > 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 qmed, que corresponde aos pontos mdios dos intervalos de
variao das juntas, e o vectorqseg de coordenadas no espao das juntas candidato a
soluo para o vector xseg de coordenadas operacionais seguinte, a funo a
minimizar
=
6
1
2,, )(min
i
segimedii qqc (Eq. 2.134)
em que ci > 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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
60/101
60
manipulador x0 = (50, 40, 600, 10, 5, 35)T (posio expressa em milmetros e
orientao expressa em graus) e que as correspondentes coordenadas das juntas so
q0 = (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) demorando2 seg para percorrer cada lado. Para tal define-se uma trajectria especificando os
restantes trs vrtices do quadrado x1, x2 e x3: x1 = (50, 240, 600, 10, 5, 35)T,
x2 = (50, 240, 400, 10, 5, 35)Te x3 = (50, 40, 400, 10, 5, 35)
T(Figura 2.18).
350
400
450
500
550
600
650
0 50 100 150 200 250
EixoZ(mm)
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 menorcapacidade de acelerao que as do punho. Assim, d-se maior importncia s descontinuidades dastrajectrias destas juntas.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
61/101
61
-80
-60
-40
-20
0
20
40
60
80
0 1 2 3 4 5 6 7 8
Pos.dajunta(graus)
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)
Pos.dajunta(graus)
Junta 1 Junta 2
-50
0
50
100
150
200
0 1 2 3 4 5 6 7 8
Pos.dajunta(graus)
Tempo (segundos)
Junta 3
-150
-100
-50
0
50
100
0 1 2 3 4 5 6 7 8
Junta 4
Tempo (segundos)
Pos.dajunta(graus)
Junta 3 Junta 4
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0 1 2 3 4 5 6 7 8
Pos.dajunta(graus)
Tempo (segundos)
Junta 5
-150
-100
-50
0
50
100
0 1 2 3 4 5 6 7 8
Junta 6
Tempo (segundos)
Pos.dajunta(graus)
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).
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
62/101
62
350
400
450
500
550
600
650
0 50 100 150 200 250
EixoZ(mm)
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 desteintervalo, 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: ( ) ( )xqqx 1f;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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
63/101
63
Sabe-se das relaes diferenciais que
dx = JEdq (x = JEq) (Eq. 2.135)
ou
xJq dd 1= E ( xJq =1E ) (Eq. 2.136)
Algoritmo 2.2
D1. Seleccionar o vector inicial candidato a soluo 0qq k ;
D2. Determinar e inverter o jacobiano de ngulos de Euler ( )kE qJ1 ;
D3. Determinar o vector erro no espao operacional ( )[ ]kqx f ;
D4. Fazer ( )[ ]kEk qxJq f1 = ;
D5. Fazer kkk qqq +=+1 ;
D6. Se ( ){ } > +1fmaxval kqx voltar ao passo D2.
+
q
x
( )qJ 1E
( )qf
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 q0. No seguimento de uma trajectria deve-se usar a soluo encontrada no
instante Tpara aproximao inicial soluo procurada para o instante T+ T.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
64/101
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 xi muito prximos pelos quais o rgoterminal 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 xi calculada numa nica passagem, i.e., sem a necessidade de iterar.
Algoritmo 2.3
P0. Fazeri = 0.
P1. Ler a situao inicial (vector qi). 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 xi que corresponde ao vector qi. Este passo
executado de um modo simples, pois corresponde resoluo do
problema da cinemtica directa.
P4. Calcular xi+1. O clculo de xi+1 efectuado por um mtodo de
gerao de trajectrias.
P5. Calcularx. Fazerx = xi+1 xi.
P6. Calcularq. Fazer xJq = 1E .
P7 Calcularqi+1. Fazerqi+1 = qi + q.
P8. Fazeri = 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
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
65/101
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 (dedimenso 61) e o vector de coordenadas no espao das juntas q (de dimenso 61)
podem ser representados da seguinte forma:
=
=
2
1;q
qq
x
xx
o
p(Eq. 2.137)
em que xp (dimenso 31) representa a posio do rgo terminal em coordenadas
cartesianas e xo (dimenso 31) representa a orientao em termos de ngulos de
Euler. Por outro lado, q1 e q2 so vectores (de dimenso 31) que representam as
posies angulares, respectivamente, das trs primeiras e das trs ltimas juntas.
Considere-se ainda o jacobiano, intJ , 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 apartir de JEfazendo o parmetro d6 = 0, podendo ser representado na forma
=
0J
JJJ
21
1211int (Eq. 2.138)
onde J11, J12 e J21 so matrizes de dimenso 33 e 0 representa a matriz nula de
dimenso 33.
O vector intpx que representa a posio do ponto de interseco dos trs
ltimos eixos em relao ao referencial da base pode ser calculado pela equao
axx 6dpint
p = (Eq. 2.139)
em que xp representa a posio do rgo terminal em relao ao referencial da base.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
66/101
66
Ento o algoritmo vem:
Algoritmo 2.4
P0. Fazeri = 0.
P1. Ler a situao inicial (vector qi). Ler os sensores de posio das
juntas.
P2. Executar os passos P3 a P10, at x =0.
P3. Calcular o vector xi que corresponde ao vector qi. Este passo
corresponde resoluo do problema da cinemtica directa.
P4. Determinar intix que corresponde a xi. Fazer axx 6,, dpiint
pi =
( )intoiintoi ,, xx = .
P5. Calcular xi+1. O clculo de xi+1 efectuado por um mtodo de
gerao de trajectrias.
P6. Determinar
int
i 1+x que corresponde a xi+1. Fazer axx 6,1,1 dpiint
pi = ++ ( )int oiint oi ,1,1 ++ = xx .
P7. Calcular intx . Fazer intiint
i
int xxx 1 = + .
P8. Calcular q . Fazer intoxJq =1211 e [ ]intointp xJJxJq = 121111122
P9 Calcularqi+1. Fazerqi+1 = qi + q.
P10. Fazeri = 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 sermuito boa se forem adoptados incrementos x suficientemente
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
67/101
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
Pos.dajunta(graus)
Tempo (segundos)
-60
-50
-40
-30
-20
-10
0
0 1 2 3 4 5 6 7 8
Junta 2
Pos.dajunta(graus)
Tempo (segundos)
Junta 1 Junta 2
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
68/101
68
-30
-20
-10
0
10
20
30
40
50
60
0 1 2 3 4 5 6 7 8
Tempo (segundos)
Pos.daju
nta(graus)
Junta 3
-160
-140
-120
-100
-80
-60
-40
-20
0 1 2 3 4 5 6 7 8
Tempo (segundos)
Pos.daju
nta(graus)
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
Pos.dajunta(graus)
Tempo (segundos)
10
20
30
40
50
60
70
80
90
100
0 1 2 3 4 5 6 7 8
Tempo (segundos)
Pos.dajunta(graus)
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)
EixoZ(mm)
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.
-
7/31/2019 [Apostila] Robtica Industrial - FEUPE
69/101
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 podeser 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 ma