Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila de Robotica, Manuais, Projetos, Pesquisas de Automação

Apostila de Robótica - Sétimo semestre de engenharia elétrica

Tipologia: Manuais, Projetos, Pesquisas

2020

Compartilhado em 23/05/2020

vagner-pereira-da-silva-12
vagner-pereira-da-silva-12 🇧🇷

5

(1)

2 documentos

1 / 78

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Automação e Robótica II
1 Modelagem Cinemática 03
1.1Modelagem Cinemática para Velocidade 03
1.1.1 Analise de velocidade 04
1.1.2 Cálculo da Jacobiana 08
1.1.2.1 Singularidade 11
1.1.2.2 Cálculo de erros 12
1.1.2.3 Cálculo da velocidade no TCP.
Cinemática direta 12
1.1.2.4 Cálculo da velocidade no TCP.
Cinemática inversa 14
1.2 Modelo Dinâmico do Robô 15
1.2.1 Robô com 3 articulações 17
2 Planejamento de Trajetória 20
2.1Introdução 20
2.1.1 Tipos de movimentos 20
2.1.2 Abordagens para planejamento de trajetórias 21
2.2 Planejamento de trajetórias do TCP 22
2.2.1 Trajetórias no espaço das juntas 22
2.2.1.1 Solução polinomial 24
2.2.1.2 Exemplo 25
2.2.2 Trajetórias retilíneas no espaço cartesiano 27
2.2.2.1 Exemplo 28
2.2.3 Geração de trajetórias 34
3 Controle de Sistemas Robóticos 47
3.1 Teoria clássica 47
3.1.1 Controle linear 48
3.1.2 Modelagem e controle para uma junta 53
3.1.3 Controle de posição para uma junta 57
3.1.4 Controle não linear 58
3.2 Controladores baseados em inteligência artificial 60
3.2.1 Controle Fuzzy 60
3.2.2 Controle Neural 60
3.2.3 Algoritmos geneticos 61
3.3 Projeto de um controlador PID 61
3.3.1 Implementação de um controlador PID a partir
da dinâmica da junta 62
4 Programação de Robôs Industriais 67
4.1 Introdução 67
4.2 Programação de robôs 67
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e

Pré-visualização parcial do texto

Baixe Apostila de Robotica e outras Manuais, Projetos, Pesquisas em PDF para Automação, somente na Docsity!

Automação e Robótica II

  • 1 Modelagem Cinemática
    • 1.1 Modelagem Cinemática para Velocidade
      • 1.1.1 Analise de velocidade
      • 1.1.2 Cálculo da Jacobiana
        • 1.1.2.1 Singularidade
        • 1.1.2.2 Cálculo de erros - Cinemática direta 1.1.2.3 Cálculo da velocidade no TCP. - Cinemática inversa 1.1.2.4 Cálculo da velocidade no TCP.
    • 1.2 Modelo Dinâmico do Robô
      • 1.2.1 Robô com 3 articulações
  • 2 Planejamento de Trajetória
    • 2.1 Introdução
      • 2.1.1 Tipos de movimentos
      • 2.1.2 Abordagens para planejamento de trajetórias
    • 2.2 Planejamento de trajetórias do TCP
      • 2.2.1 Trajetórias no espaço das juntas
        • 2.2.1.1 Solução polinomial
        • 2.2.1.2 Exemplo
      • 2.2.2 Trajetórias retilíneas no espaço cartesiano
        • 2.2.2.1 Exemplo
      • 2.2.3 Geração de trajetórias
  • 3 Controle de Sistemas Robóticos
    • 3.1 Teoria clássica
      • 3.1.1 Controle linear
      • 3.1.2 Modelagem e controle para uma junta
      • 3.1.3 Controle de posição para uma junta
      • 3.1.4 Controle não linear
    • 3.2 Controladores baseados em inteligência artificial
      • 3.2.1 Controle Fuzzy
      • 3.2.2 Controle Neural
      • 3.2.3 Algoritmos geneticos
    • 3.3 Projeto de um controlador PID - da dinâmica da junta 3.3.1 Implementação de um controlador PID a partir
  • 4 Programação de Robôs Industriais
    • 4.1 Introdução
    • 4.2 Programação de robôs
      • 4.2.1 Aprendizagem ponto a ponto
      • 4.2.2 Programação off-line
        • 4.2.2.1 Vantagens da programação off-line
      • 4.2.3 Programação on-line
    • 4.3 Arquitetura de funcionamento de um robô industrial
  • 5 Sensores
    • 5.1 Classificação dos sensores
    • 5.2 Tipos de sensores
    • 5.3 Sensores embarcados
      • 5.3.1 Encoders ópticos
      • 5.3.2 Resolvers
      • 5.3.3 Encoders vs Resolvers
  • 6 Bibliografia

Se: r → = [ x y z φ θ ψ ] T d rdt = (^) [ dx dt dy dt dz dt dφ dt dθ dt dψ dt ]^ T veloc. linear veloc. angular Sendo: r → Posição da extremidade do robô d r → Componentes cinéticas dessa extremidade (velocidade) 1.1.1 Analise de velocidade A velocidade linear de um corpo rígido pode ser definida por: X 0 Y 0 Z 0 X 1 Y 1 Z 1 X 2 Y 2 Z 2 r 0 A 0 A, B VB =^ VA +^ ωA ×^ r → 0 A translação rotação Para calcular a velocidade do elemento terminal com relação à base se deve atribuir um sistema de coordenadas para cada junta

12 l 1 l 2 X 0 Y 0 TCP X 1 Y 1 X 2 Y 2 0 A B Aplicando a fórmula da velocidade VA =^ V → 0 +^ ωA ×^ r → 0 A [ V (^) Ax V (^) Ay 0 ]

[

0 ]^

[

θ 1 ¿ ]

×

[ l 1 0 0 ] dado rotação translação em Z em X Lembrando que o produto vetorial entre 2 vetores se calcula: a

[

] b

[

] a → × b

ijkij

0 VA =^ [ cos θ 1 −sen θ 1 0 sen θ 1 cos θ 1 0 0 0 1 ] (^) [

θ ¿ 1 l 1 0 ]

[ − θ ¿ 1 l 1 sen^ θ 1 θ ¿ 1 l 1 cos^ θ 1 0 ] 0 VB =^ 0 VA +^ 0 ωB ×^ rAB [

V Bx

V By

]

[

¿

1 l 1 sen^ θ 1

¿

1 l 1 cos^ θ 1

]

[

¿

¿ ]

×

[

l 2

]

rotação translação

em Z em X

ωB ×^ rAB =^ [ 0 ( θ ¿ 1 +^ θ ¿ 2 )^ l 2 0 ] 0 V

B =

[

¿

1 l 1 sen^ θ 1

¿

1 l 1 cos^ θ 1

]

[

cos θ 2 −sen θ 2 0

sen θ 2 cos θ 2 0

] (^) [

( θ ¿

1 +^ θ

¿ 2 )^ l 2

] 0 V

B =

[

¿

1 l 1 sen^ θ 1

¿

1 l 1 cos^ θ 1

]

[ −( θ ¿

1 +^ θ

¿ 2 )^ l 2 sen^ θ 2 ( θ ¿

1 +^ θ

¿ 2 )^ l 2 cos^ θ 2

] 0 V

B =

[

¿ 1 l 1 sen^ θ 1 −(^ θ ¿

1 +^ θ

¿ 2 )^ l 2 sen^ θ 2

¿ 1 l 1 cos^ θ 1 +^ (^ θ ¿

1 +^ θ

¿ 2 )^ l 2 cos^ θ 2

]

1.1.2 Cálculo da Jacobiana Para determinar as velocidades cartesianas e angulares em relação ao sistema de coordenadas da base do robô se utiliza a seguinte expressão: (^0) v = [ 0 V 0 Ω ]^ = 0 J ( q ) q ¿ q = [ q 1 q 2 . . qn ] sendo q o vetor que define a posição das n juntas do manipulador J a matriz Jacobiana Para a análise da velocidade assume-se:  Que a posição é conhecida  Que o robô pode ser descrito pelo esquema de Denavit-Hartenberg A matriz Jacobiana relaciona as velocidades linear e angular do TCP expressas no sistema de coordenadas da base com as velocidades das articulações. Sabendo que: r → = [ x y z φ θ ψ ] T vetor posição d rdt = (^) [ dx dt dy dt dz dt dφ dt dθ dt dψ dt ]^ T Para as n juntas do robô temos: d r → = J d q → sendo J a Jacobiana da função vetorial F

x = l 1 cos θ 1 + l 2 cos ( θ 1 + θ 2 )

y = l 1 sen θ 1 + l 2 sen ( θ 1 + θ 2 )

dx =

∂ ( l 1 cos θ 1 + l 2 cos ( θ 1 + θ 2 ))

θ 1 1 +

∂ ( l 1 cos θ 1 + l 2 cos ( θ 1 + θ 2 ))

θ 2 2 dy =

∂ ( l 1 sen θ 1 + l 2 sen ( θ 1 + θ 2 ) )

θ 1 1 +

∂ ( l 1 sen θ 1 + l 2 sen ( θ 1 + θ 2 ) )

θ 2 2 dx = − l 1 sen θ 1 θ ¿ 1 −^ l 2 sen^ (^ θ 1 +^ θ 2 )^ θ ¿ 1 −^ l 2 sen^ (^ θ 1 +^ θ 2 )^ θ ¿ 2 dy = l 1 cos θ 1 θ ¿ 1 +^ l 2 cos^ (^ θ 1 +^ θ 2 )^ θ ¿ 1 +^ l 2 cos^ (^ θ 1 +^ θ 2 )^ θ ¿ 2 [ x ¿ y ¿ ] = [ − l 1 sen θ 1 − l 2 sen (^) ( θ 1 + θ 2 ) − l 2 sen (^) ( θ 1 + θ 2 ) l 1 cos θ 1 + l 2 cos (^) ( θ 1 + θ 2 ) l 2 cos (^) ( θ 1 + θ 2 ) ] [ θ ¿ 1 θ ¿ 2 ] sendo J = [ − l 1 sen θ 1 − l 2 sen (^) ( θ 1 + θ 2 ) − l 2 sen (^) ( θ 1 + θ 2 ) l 1 cos θ 1 + l 2 cos (^) ( θ 1 + θ 2 ) l 2 cos (^) ( θ 1 + θ 2 ) ] Quando a Jacobiana é uma matriz quadrada o processo cinemático inverso se efetua calculando J − 1

. Em caso da matriz ter um número de linhas e colunas diferente é necessário montar as equações de cinemática inversa e derivá-las. Este processo é bem difícil.

1.1.2.1 Singularidade. A matriz Jacobiana depende da configuração do robô e permite a determinação de singularidades do robô. Se as relações da cinemática direta forem diferenciáveis (como são praticamente todos os modelos contínuos), então a Jacobiana é sempre definida. Mas a Jacobiana inversa nem sempre pode ficar definida para todos os valores das variáveis de junta, ou seja, para todas as configurações do robô. Quando a matriz Jacobiana tem determinante nulo é singular e a Jacobiana inversa não está definida. Fisicamente, a singularidade é uma configuração do robô na qual seria necessário impor velocidades infinitamente altas numa ou mais juntas para manter determinadas velocidades no espaço operacional. É importante conhecer as configurações singulares do robô pelos seguintes motivos:  Causa perda de mobilidade do robô (perda de graus de liberdade)  Quando o robô está em uma configuração singular, podem existir infinitas soluções para a cinemática inversa.  Quando o robô se aproxima de uma configuração singular, uma pequena velocidade do end-effector, provoca grandes velocidades no acionamento do robô. A partir das equações da cinemática inversa obtém-se: d θ 1 =

cos ( θ 1 + θ 2 )

l 1 sen θ 2 dx +

sen ( θ 1 + θ 2 )

l 1 sen θ 2 dy d θ 2 = −

l 1 cos θ 1 + l 2 cos ( θ 1 + θ 2 )

l 1 l 2 sen θ 2 dx

l 1 sen θ 1 + l 2 sen ( θ 1 + θ 2 )

l 1 l 2 sen θ 2 dy Quando o ângulo da junta 2 atinge zero graus ( θ 2 = 0 ∘ ) o robô não pode continuar o movimento. Neste caso a velocidade da junta 2 cresce infinitamente.

12 l 1 l 2 X 1 Y 1 X 2 Y 2 X 0 Y 0 P Calculamos primeiro a posição e orientação do ponto P com relação às coordenadas da base. 0 P = [ x y α ] = [ l 1 cos θ 1 + l 2 cos (^) ( θ 1 + θ 2 ) l 1 sen θ 1

  • l 2 sen (^) ( θ 1
  • θ 2 ) θ 1 + θ 2 ] = ¿ [ 0,3 cos 20 0
  • 0,2 cos (^20 0
  • 60 0 ) ¿ (^) ] [ 0,3 sen 20 0
  • 0,2 sen (^20 0
  • 60 0 ) ¿] ¿ ¿ ¿ ¿ A velocidade é a derivada da posição, então temos:

x

¿

dx

dt

= − l 1 sen θ 1 θ

¿ 1 −^ l 2 sen^ (^ θ 1 +^ θ 2 )^ (^ θ ¿

1 +^ θ

¿ 2 )

y

¿

dy

dt

= l 1 cos θ 1 θ

¿ 1 +^ l 2 cos^ (^ θ 1 +^ θ 2 )^ (^ θ ¿

1 +^ θ

¿ 2 )

¿

¿

1 +^ θ

¿ 2

[ x

y

α

] = ¿ [ − l 1 sen θ 1 − l 2 sen (^) ( θ 1

  • θ 2 )^ − l 2 sen (^) ( θ 1
  • θ 2 ) l 1 cos θ 1
  • l 2 cos (^) ( θ 1
  • θ 2 )^ l 2 cos (^) ( θ 1
  • θ 2 )^ ¿ ] ¿ ¿ ¿ ¿ ¿ V → = Jθ ¿ 1 rot min 1 min 60 seg 2 π rad 1 rot

2 π 60 rad / s 1 rpm = 2 π 60 rad / s }

200 rpm = 21 rad / s 100 rpm = 10 , 5 rad / s V → = (^) [

−0,3 sen 200 −0,2 sen ( 200 + 600 ) −0,2 sen ( 200 + 600 )

0,3 cos 20 0

+ 0,2 cos (^20

0

  • 60

0,2 cos (^20

0

  • 60 (^0) ) ] [ 21 10 , 5 ] = [ −0,3 −0, 0 , 32 0 , 034 ]^ [ 21 10 , 5 ]^ = [ −8, 7 ]^ m / s 1.1.2.4 Cálculo da velocidade no TCP. Cinemática inversa Supondo que temos como dado a velocidade nas extremidades do robô e queremos calcular a velocidade nas articulações V → = Jθ ¿ ⃗ θ ¿ = J −^1 V → para [ x ¿ y ¿ ]

[

0 ]^ m / s [ θ ¿ 1 θ ¿ 2 ] = J −^1 [ 5 0 ]^ = [ 0 , 63 3, − 5 , 95 − 5 , 58 ]^ [ 5 0 ]^ = [ 3 , 15 29 , 7 ]^ rad / s

Para calcular a potencia dos motores de cada junta se utiliza a Jacobina  1 l 1 l 2 X 0 Y 0 TCP m

m = 1 Kg

Peso = m g g → gravidade

9 , 81 m / s

2

F = 9 , 81 N

⃗ F =

[

− 9 , 81 ]^

N

J =

[

0 , 32 0 , 034 ]^

J

T

[

−0,2 0 , 034 ]

[

−0,2 0 , 034 ]^ [

− 9 , 81 ]^

[

− 0 , 333 ]^

N − m

Potência dos motores

P 1 = τ 1 θ

¿

1 =^3 ,^^139 (^3 ,^15 )^ =^9 ,^^887 w

P 2 = τ 2 θ

¿

2 =^0 ,^^333 (^29 ,^^7 )^ =^9 ,^891 w

1.2.1 Robô com 3 articulações Calcular a velocidade do TCP e a potencia dos motores

l 1 = 0,3 m θ 1 = 20

0

¿

1 =^30 rpm

l 2 = 0 , 25 m θ 2 = 70

0

¿

2 =^10 rpm

l 3 = 0,1 m θ 3 = 30

0

¿

3 =^10 rpm

m = 5 kg

12 P l 1 l 23 l 3 X 0 Y 0 X 1 Y 1 X 2 Y 2 X 3 Y 3 [ x y ]^ = [

l 1 cos θ 1 + l 2 cos ( θ 1 + θ 2 ) + l 3 cos ( θ 1 + θ 2 + θ 3 )

l 1 sen θ 1 + l 2 sen (^) ( θ 1 + θ 2 ) + l 3 sen (^) ( θ 1 + θ 2 + θ 3 ) ] [ x y ]^ = [ 0,3 ( 0 , 94 ) + 0 , 25 ( 0 ) + 0,1 (−0,5 ) 0,3 ( 0 , 342 ) + 0 , 25 ( 1 ) + 0,1 ( 0 , 866 )]^ = [ 0 , 232 0 , 44 ]^ mV = [ x ¿ y ¿ ]

⃗ V = J

¿

P 1 = τ 1 θ

¿

1 =^11 ,^^6 (^3 ,^^14 )^ =^36 ,^^42 w

P 2 = τ 2 θ

¿

2 =^ 2,5^ (^1 ,^^05 )^ =^2 ,^63 w

P 3 = τ 3 θ

¿

3 =^ 2,5^ (^1 ,^05 )^ =^2 ,^^63 w

Neste caso como a matriz Jacobiana não é quadrada não podemos inverte-la e a cinemática inversa para velocidade para obter a velocidade das juntas se calcula derivando as expressões de cinemática inversa de posição.

No caso, são dados [^ x^ ,^ y^ ,^ φ^ ]^

T , ou seja, posição e orientação do TCP. Sabendo que φ = θ 1 + θ 2 + θ 3  12 P l 1 l 2 33 l Px = l 1 cos θ 1 + l 2 cos (^) ( θ 1 + θ 2 ) Py = l 1 sen θ 1 + l 2 sen (^) ( θ 1 + θ 2 )

Px 2 = l 1 2 cos 2 θ 1 + 2 l 1 l 2 cos θ 1 cos (^) ( θ 1 + θ 2 ) + l 2 2 cos 2 ( θ 1 +^ θ 2 ) Py 2 = l 1 2 sen 2 θ 1 + 2 l 1 l 2 sen θ 1 sen (^) ( θ 1 + θ 2 ) + l 2 2 sen 2 ( θ 1 +^ θ 2 )


Px 2

  • Py 2 = l 1 2
  • 2 l 1 l 2 [ cos θ 1 cos (^) ( θ 1 + θ 2 ) + sen θ 1 sen (^) ( θ 1 + θ 2 ) (^) ] + l 2 2 cos θ 1 cos (^) ( θ 1 + θ 2 ) + sen θ 1 sen (^) ( θ 1 + θ 2 ) = cos (^) [ θ 1 − (^) ( θ 1 + θ 2 ) (^) ] = cos θ 2 Px 2
  • Py 2 = l 1 2
  • l 2 2
  • 2 l 1 l 2 cos θ 2 θ 2 = cos − 1 Px 2
  • P (^) y 2 − l 1 2 − l 2 2 2 l 1 l 2 Px = l 1 cos θ 1 + l 2 cos θ 1 cos θ 2 − l 2 sen θ 1 sen θ 2 Py = l 1 sen θ 1 + l 2 cos θ 1 sen θ 2 + l 2 sen θ 1 cos θ 2 cos θ 1 = Px + l 2 sen θ 1 sen θ 2 l 1 + l 2 cos θ 2 sen θ 1 = P (^) yl 2 cos θ 1 sen θ 2 l 1 + l 2 cos θ 2 cos θ 1 = Px + l 2 sen θ 2 p (^) yl 2 cos θ 1 sen θ 2 l 1 + l 2 cos θ 2 l 1 + l 2 cos θ 2 cos θ 1 =

Px + ( l 1 + l 2 cos θ 2 ) + P y l 2 sen θ 2 − l 22 cos θ 1 sen^2 θ 2

( l 1 +^ l 2 cos^ θ 2 )

2 cos θ 1 [ l 1 2

  • 2 l 1 l 2 cos θ 2 + l 2 2 cos 2 θ 2 ] = Px ( l 1 + l 2 cos θ 2 ) + Py l 2 sen θ 2 − l 2 2 cos θ 1 sen 2 θ 2 cos θ 1 [ l 1 2
  • 2 l 1 l 2 cos θ 2 + l 2 2 cos 2 θ 2 + l 2 2 sen 2 θ 2 ] = Px ( l 1 + l 2 cos θ 2 ) + P (^) y l 2 sen θ 2 mas : Px 2
  • Py 2 = l 1 2
  • l 2 2
  • 2 l 1 l 2 cos θ 2 cos θ 1 [ Px 2
  • P (^) y 2 ] =^ Px ( l 1 +^ l 2 cos^ θ 2 ) +^ P^ y l 2 sen^ θ 2