Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo...

43
Introdução Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ELE228 Robótica A Copyright (c) Walter Fetter Lages – p.1

Transcript of Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo...

Page 1: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

IntroduçãoWalter Fetter [email protected]

Universidade Federal do Rio Grande do Sul

Escola de Engenharia

Departamento de Sistemas Elétricos de Automação e Energia

ELE228 Robótica A

Copyright (c) Walter Fetter Lages – p.1

Page 2: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs são Idéia Antiga

270 A.C. Ctesibius da Grécia construiu relógiosd’água com figuras móveis

1452-1419 Leonardo Da Vinci imaginou robôshumanóides para proteger castelos

Copyright (c) Walter Fetter Lages – p.2

Page 3: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robô

• A palavra robô vem da palavra tcheca "Robota"=trabalho escravo

• 1921 Peça teatral "Robôs Universais de Russum",de Karel Capek

• Isaac Asimov cunhou a palavra robótica

Copyright (c) Walter Fetter Lages – p.3

Page 4: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Filmes e Robôs

• Os Jetson’s 1962• Perdidos no espaço 1964• Guerra nas estrelas 1977 - R2D2 e C3P0• Robôs em propagandas• Animatronics 2000

Copyright (c) Walter Fetter Lages – p.4

Page 5: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robô

• Manipulador multi-funcional reprogramávelprojetado para movimentar materiais, peças,ferramentas ou dispositivos especiais seguindomovimentos programados variáveis, tendo porobjetivo a realização de tarefas variadas

• Máquina flexível programável com a qual umobjeto pode ser movido para um local definido noespaço, ou com o qual pode ser realizada umatrajetória com o objeto para realizar umadeterminada tarefa

Copyright (c) Walter Fetter Lages – p.5

Page 6: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs Industriais

• Utilizados nas indústrias para• movimentação de peças• pintura• soldagem

• Normalmente constituídos por:• um braço articulado• uma unidade de controle• um teaching–pad• diversas interfaces com periféricos

Copyright (c) Walter Fetter Lages – p.6

Page 7: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs Industriais

Copyright (c) Walter Fetter Lages – p.7

Page 8: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs Móveis

• Robôs que podem movimentar-seautonomamente no solo ou no espaço.

• Frequentemente o termo robô móvel é utilizadopara designar apenas a plataforma.

Copyright (c) Walter Fetter Lages – p.8

Page 9: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs de Serviço

• Robôs desenvolvidos para a execução de tarefasespecíficas• aspiração de pó• cuidar de pessoas idosas e deficientes• limpeza de navios e aviões• cortar grama• esquilar ovelhas• inspecionar linhas de transmissão de energia

elétrica

Copyright (c) Walter Fetter Lages – p.9

Page 10: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs de Serviço - Expliner

Copyright (c) Walter Fetter Lages – p.10

Page 11: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robôs de Serviço - LineScout

Copyright (c) Walter Fetter Lages – p.11

Page 12: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robótica é um Campo Vasto

• Necessita conhecimentos de:• Eletrônica• Mecânica• Computação• Controle• Psicologia

Copyright (c) Walter Fetter Lages – p.12

Page 13: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Robótica e Desemprego

• Muitas vezes é afirmado que os robôs causamdesemprego

• Na verdade, os robôs mudam deslocam os postosde trabalho de lugar na linha de produção

• Com robôs, toda a linha de produção funcionamais rápido• são necessárias mais trabalhadores para

• empacotar os produtos• vender um maior volume de produtos• alimentar o robô

Copyright (c) Walter Fetter Lages – p.13

Page 14: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Partes de um Manipulador

• Base• Braço articulado

• Elos• Juntas

• Unidade de controle• Dispositivo de programação

Copyright (c) Walter Fetter Lages – p.14

Page 15: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Tipos de Juntas

• Juntas rotacionais• Juntas prismáticas• Juntas esféricas

Copyright (c) Walter Fetter Lages – p.15

Page 16: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configurações Cinemáticas Usuais

• Configuração articulada (RRR)• Configuração esférica (RRP)• Configuração SCARA (RRP)• Configuração cilíndrica (RPP)• Configuração cartesiana (PPP)

Copyright (c) Walter Fetter Lages – p.16

Page 17: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configuração Articulada (RRR)

Copyright (c) Walter Fetter Lages – p.17

Page 18: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configuração Esférica (RRP)

Copyright (c) Walter Fetter Lages – p.18

Page 19: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configuração SCARA (RRP)

Copyright (c) Walter Fetter Lages – p.19

Page 20: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configuração Cilíndrica (RPP)

Copyright (c) Walter Fetter Lages – p.20

Page 21: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Configuração Cartesiana (PPP)

Copyright (c) Walter Fetter Lages – p.21

Page 22: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Conceitos

• Espaço de Trabalho• Fronteira exterior de todos os pontos que um

robô pode alcançar com seu efetuador• Graus de liberdade

• Número de movimentos distintos que o braçopode realizar

• Normalmente o número de graus de liberdadeiguala-se ao número de juntas

Copyright (c) Walter Fetter Lages – p.22

Page 23: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Tipos de Acionamentos

• Acionamento Elétrico• Acionamento Hidráulico• Acionamento Pneumático

Copyright (c) Walter Fetter Lages – p.23

Page 24: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Acionamento Elétrico

• Permite controle preciso e eficiente• Envolve estruturas simples e de fácil manutenção• Não requer fonte de energia cara• Custo relativamente baixo• É sujeito a danos devido a cargas pesadas o

bastante para parar o motor

• É incapaz de manter um momento constante emvelocidades variáveis de revolução

• Tem uma baixa razão de potência de saída emrelação ao peso do motor

Copyright (c) Walter Fetter Lages – p.24

Page 25: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Acionamento Hidráulico

• Mantém um momento alto e constante sob umalarga faixa de velocidades

• Requer uma fonte de energia cara• Permite precisão de operação, algo menos que

acionamento elétrico, mas mais que o pneumático• Requer cara e extensiva manutenção• Pode manter alto momento sobre longo período

de tempo• As válvulas devem ser precisas e são caras• Está sujeito a vazamentos de óleo do sistema

Copyright (c) Walter Fetter Lages – p.25

Page 26: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Acionamento Pneumático

• Permite operação em altas velocidades• Precisão pouco apurada• Pode manter um momento constante (menor do

que o acionamento hidráulico)• Está sujeito a vibrações momentâneas no braço• Fácil manutenção• Custo relativamente baixo

Copyright (c) Walter Fetter Lages – p.26

Page 27: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Garras

Copyright (c) Walter Fetter Lages – p.27

Page 28: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Garras

Copyright (c) Walter Fetter Lages – p.28

Page 29: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Garras com Dedos

Copyright (c) Walter Fetter Lages – p.29

Page 30: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelagem de Manipuladores

• Modelo Cinemático• Direto - Mapeia posições das juntas em

posição da garra• Inverso - Mapeia posição da garra em

posições das juntas• Jacobiano - Mapeia velocidades nas juntas em

velocidades da garra e forças estáticas nasjuntas para forças estáticas na garra

• Modelo Dinâmico• Direto - Mapeia torques nas juntas em

acelerações e velocidades das juntas• Inverso - Mapeia posições, velocidades e

acelerações das juntas em torque nas juntasCopyright (c) Walter Fetter Lages – p.30

Page 31: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Cinemático Direto

A

XA

YA

ZA B

XB

YB

ZB

APAPBorg

BP

AP = APBorg + ARBBP

• Transformação homogêneaCopyright (c) Walter Fetter Lages – p.31

Page 32: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Transformação Homogênea

[AP

1

]

︸ ︷︷ ︸

vetor emcoordenadashomogêneas

=

[ARB

APBorg

01×3 1

]

︸ ︷︷ ︸

matriz detransformação

homogênea

[BP

1

]

AP = ATBBP

Copyright (c) Walter Fetter Lages – p.32

Page 33: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Transformações Compostas

A

XA

YA

ZA AP

APBorg

B

XB

YB

ZB

BP

BPCorg

C

XC

YC

ZC

CP

AP = ATBBTC

CP = ATCCP

Copyright (c) Walter Fetter Lages – p.33

Page 34: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Cinemático Direto

0 0 1 2 3 4 5

Copyright (c) Walter Fetter Lages – p.34

Page 35: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Convenções de Denavit-Hartenberg

• Todas as transformações homogêneas de i parai − 1 ficam com a mesma forma e função apenasde 4 parâmetros geométricos

Copyright (c) Walter Fetter Lages – p.35

Page 36: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Convenções de Denavit-Hartenberg

i−1Ti = Tz,diTz,θi

Tx,aiTx,αi

i−1Ti =

cos θi − cos αi sen θi sen αi sen θi ai cos θi

sen θi cos αi cos θi − sen αi cos θi ai sen θi

0 senαi cos αi di

0 0 0 1

Copyright (c) Walter Fetter Lages – p.36

Page 37: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Cinemático Inverso

0T3 =

C123 −S123 0 l1C1 + l2C12 + l3C123

S123 C123 0 l1S1 + l2S12 + l3S123

0 0 1 0

0 0 0 1

0T d3

=

Cφ −Sφ 0 x

Sφ Cφ 0 y

0 0 1 0

0 0 0 1

Copyright (c) Walter Fetter Lages – p.37

Page 38: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Cinemático Inverso

C2 =(x − l3Cφ)

2 + (y − l3Sφ)2 − l2

1− l2

2

2l1l2

S2 = ±√

1 − C2

2

θ2 = atan2(S2, C2)

θ1 = atan2(y−l3Sφ, x−l3Cφ)−atan2(l2S2, l1+l2C2)

θ3 = atan2(Sφ, Cφ) − θ1 − θ2

Copyright (c) Walter Fetter Lages – p.38

Page 39: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Jacobiano

ν =

[V

Ω

]

= J(q)q

Ji(q) =

[0Ri−1

(i−1Zi−1 ×

i−1Pn

)

0Ri−1i−1Zi−1

]

para junta rotacional

[0Ri−1

i−1Zi−1

0

]

para junta prismática

J(q) =[

J1(q)... J2(q)

... · · ·... Jn(q)

]

Copyright (c) Walter Fetter Lages – p.39

Page 40: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Jacobiano Inverso

q = J−1(q)0ν

• Nem sempre é inversível• Configurações singulares

Copyright (c) Walter Fetter Lages – p.40

Page 41: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Dinâmico Inverso

• Formalismo de Newton-Euler• Baseado no equilíbrio de forças• O modelo não é obtido de forma explícita• Expressões recursivas que permitem calcular

o torque• Adequado para implementação computacional

• Formalismo de Lagrange-Euler• Baseado na conservação de energia• O modelo é obtido em forma fechada• Pouco eficiente computacionalmente

τ = M(q)q + V (q, q) + G(q)Copyright (c) Walter Fetter Lages – p.41

Page 42: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Dinâmico Direto

q = M−1(q) [τ − V (q, q) − G(q)]

x =

[q

q

]

=

[x1

x2

]

, u = τ

f2(x1, x2) = −M−1(x1) (V (x1, x2) + G(x1))

g2(x1) = M−1(x1)

x = f(x) + g(x)u

Copyright (c) Walter Fetter Lages – p.42

Page 43: Walter Fetter Lages Universidade Federal do Rio Grande do ...fetter/ele228/present.pdf · Modelo Dinâmico Direto x˙ = f(x)+g(x)u f(x) = x2 f2(x1,x2) g(x) = 0 g2(x1) Copyright (c)

Modelo Dinâmico Direto

x = f(x) + g(x)u

f(x) =

[x2

f2(x1, x2)

]

g(x) =

[0

g2(x1)

]

Copyright (c) Walter Fetter Lages – p.43