[apostila] robótica industrial - feupe

Upload: eduardo-bandeira

Post on 04-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 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