estudo da modelagem robótica

114
Universidade Estadual de Londrina CENTRO DE TECNOLOGIA E URBANISMO CURSO DE ENGENHARIA ELÉTRICA TRABALHO DE CONCLUSÃO DE CURSO Aislan Gabriel Hernandes LONDRINA PARANÁ 2014 ESTUDO DA MODELAGEM ROBÓTICA

Upload: buinga

Post on 10-Jan-2017

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Estudo da Modelagem Robótica

Universidade Estadual de Londrina

CENTRO DE TECNOLOGIA E URBANISMO

CURSO DE ENGENHARIA ELÉTRICA

TRABALHO DE CONCLUSÃO DE CURSO

Aislan Gabriel Hernandes

LONDRINA – PARANÁ

2014

ESTUDO DA MODELAGEM ROBÓTICA

Page 2: Estudo da Modelagem Robótica

AISLAN GABRIEL HERNANDES

ESTUDO DA MODELAGEM ROBÓTICA

Trabalho apresentado como requisito parcial para a Conclusão do Curso de Engenharia Elétrica do Centro de Tecnologia e Urbanismo da Universidade Estadual de Londrina.

COMISSÃO EXAMINADORA

______________________________________

Prof. Dr. Ruberlei Gaino - Orientador

Universidade Estadual de Londrina

______________________________________

Prof. Dr. Márcio Roberto Covacic

Universidade Estadual de Londrina

______________________________________

Prof. Dr. Newton da Silva

Universidade Estadual de Londrina

Londrina, 27 de Novembro de 2014.

Page 3: Estudo da Modelagem Robótica

2

Dedico aos meus pais que foram companheiros em todas as horas e acreditaram em

meu potencial investindo em minha formação. Muito Obrigado!

Page 4: Estudo da Modelagem Robótica

3

AGRADECIMENTOS

Ao Prof. Dr. Ruberlei Gaino, pela ajuda de todas as etapas deste trabalho.

A minha família, pela confiança e motivação.

Aos amigos e colegas, pela força e pela vibração em relação a esta jornada.

Aos professores e colegas de Curso, pois juntos trilhamos uma etapa importante de

nossas vidas.

Aos profissionais de engenharia da empresa QUANSER® pela concessão de

informações valiosas para a realização do estudo do Robô DENSO® VP-6242.

A todos que, com boa intenção, colaboraram para a realização e finalização deste

trabalho.

Page 5: Estudo da Modelagem Robótica

4

HERNANDES, Aislan Gabriel. Estudo da Modelagem Robótica. Trabalho de Conclusão de Curso. Curso de Engenharia Elétrica. Centro de Tecnologia e Urbanismo. Universidade Estadual de Londrina, 2014.

RESUMO

Este trabalho de conclusão de curso tem por finalidade a introdução ao estudo da

robótica. A robótica é o estudo da cinemática, dinâmica e do controle aplicado a

manipuladores robóticos e também a robôs móveis. Neste trabalho foram enfocados

somente manipuladores robóticos com o intuito de aplicar a modelagem e controle

LQR (Regulador Linear Quadrático) ao sistema de 1-DOF (um grau de liberdade) da

empresa QUANSER®. Também foi feita uma breve análise do sistema robótico DENSO®

6-DOF (seis graus de liberdade) VP-6242M da empresa QUANSER®.

Palavras-chave: Robótica, Controle LQR, Manipuladores Industriais.

Page 6: Estudo da Modelagem Robótica

5

HERNANDES, Aislan Gabriel. Robotics Modeling Studies. Monograph for the Bachelor Degree in Electrical Engineering. Center of Technology and Urbanism. Londrina State University, 2014.

ABSTRACT

This work introduces the study of robotics. Robotics is the study of kinematics,

dynamics and control applied to robotic manipulators and mobile robots. In this work,

only robotic manipulators were studied, in order to apply the modeling and LQR

control (Linear Quadratic Regulator) for the 1-DOF (one degree of freedom)

manipulator of QUANSER ® Company. Furthermore, a brief analysis was made of the

robotic system DENSO® 6-DOF (six degrees of freedom) VP-6242M of QUANSER ®

Company.

Key Words: Robotics, LQR Control, Industrial Manipulators.

Page 7: Estudo da Modelagem Robótica

6

LISTA DE TABELAS

Tabela 2.1 – Parâmetros para Elo de duas Juntas Rotacionais Paralelas ----------------

40

Tabela 2.2 – Parâmetros para Elo de duas Juntas Rotacionais Paralelas Desalinhadas -------------------------------------------------------------------------------------------

41

Tabela 2.3 – Parâmetros para Elo de Juntas Rotacionais Ortogonais --------------------

42

Tabela 2.4 – Parâmetros para Elo de Juntas Rotacionais Ortogonais Desalinhados

42

Tabela 2.5 – Parâmetros para o Segundo Tipo de Elo de Juntas Rotacionais Ortogonais ---------------------------------------------------------------------------------------------

43

Tabela 2.6 – Parâmetros para Elo com Junta Prismática e Rotacional Ortogonais –

44

Tabela 2.7 – Parâmetros para Segundo Tipo de Elo de Juntas Prismática e Rotacional Ortogonais ------------------------------------------------------------------------------

44

Tabela 2.8 – Descrição do Algoritmo de Denavit-Hartenberg (D-H) (SANTOS, 2004)

45

Tabela 2.9 – Parâmetros de D-H para Manipulador de 3-DOF ----------------------------

46

Tabela 3.1 – Parâmetros de D-H para o Robô DENSO® 6-DOF ----------------------------

61

Tabela 3.2 – Parâmetros Físicos do Modelo Link Flexível 1-DOF (QUANSER, 2011d)

66

Tabela 3.3 – Componentes para a Montagem do Link Flexível ---------------------------

66

Tabela 3.4 – Valores Obtidos nos Testes para Diversas Matrizes 𝑸 --------------------

76

Tabela 4.1 – Índices de Desempenho Obtidos para a Simulação do Sistema ---------

82

Tabela 4.2 – Índices de Desempenho Obtidos para a Implementação do Sistema - 85

Page 8: Estudo da Modelagem Robótica

7

LISTA DE FIGURAS

Figura 2.1 – Modelo de Conexão entre Junta e Elos (SANTOS, 2004) ----------------- 23

Figura 2.2 – Diversos Tipos de Garras utilizadas em Manipuladores Robóticos

(SANTOS, 2004) ------------------------------------------------------------------------------------- 24

Figura 2.3 – Os Três Tipos de Juntas: Rotacional, Prismática e Esférica (SANTOS,

2004) --------------------------------------------------------------------------------------------------

25

Figura 2.4 – Sistema de Eixos Ortogonal Cartesiano --------------------------------------- 26

Figura 2.5 – Sistema com Dois Referenciais: 𝑞𝑅 e 𝑞𝑁 (SANTOS, 2004) --------------- 27

Figura 2.6 – Transformação Rotacional e Translacional (SANTOS, 2004) ------------ 27

Figura 2.7 – Reflexão em Relação a um Eixo (SANTOS, 2004) --------------------------- 29

Figura 2.8 – Reflexão em Relação à Origem (SANTOS, 2004) ---------------------------- 29

Figura 2.9 – Fator de Escala (SANTOS, 2004) ------------------------------------------------ 30

Figura 2.10 – Rotação de 90° em torno da Origem (SANTOS, 2004) ------------------ 30

Figura 2.11 – Rotação Genérica no Plano (SANTOS, 2004) ------------------------------- 31

Figura 2.12 – Matriz Genérica de Transformação Geométrica (Rotação +

Translação) (SANTOS, 2004) --------------------------------------------------------------------- 31

Figura 2.13 – Sistema Cartesiano e as Rotações em cada Eixo (SANTOS, 2004) -- 35

Figura 2.14 – Forma Expandida da Matriz de Transformação para o Espaço 3D

(SANTOS, 2004) ------------------------------------------------------------------------------------- 35

Figura 2.15 – Movimentação de um Ponto (SANTOS, 2004) ---------------------------- 36

Figura 2.16 – Movimentação (criação) de um Referencial (SANTOS, 2004) -------- 36

Figura 2.17 – Relação entre dois Referenciais (SANTOS, 2004) ------------------------- 36

Figura 2.18 – Modelo Relacionando a Cinemática Direta e Inversa (SANTOS,

2004) --------------------------------------------------------------------------------------------------

37

Figura 2.19 – Eixo de uma Junta Rotacional: Colinear e Ortogonal (SANTOS,

2004) -------------------------------------------------------------------------------------------------- 38

Figura 2.20 – Eixo de uma Junta Prismática: Colinear e Ortogonal (SANTOS,

2004) ------------------------------------------------------------------------------------------------- 38

Figura 2.21 – Elo de duas Juntas Rotacionais Paralelas (SANTOS, 2004) ------------- 40

Figura 2.22 – Elo de duas Juntas Rotacionais Paralelas Desalinhadas (SANTOS,

Page 9: Estudo da Modelagem Robótica

8

2004) -------------------------------------------------------------------------------------------------- 41

Figura 2.23 – Elo de Juntas Rotacionais Ortogonais (SANTOS, 2004) ----------------- 41

Figura 2.24 – Elo de Juntas Rotacionais Ortogonais Desalinhadas (SANTOS, 2004) 42

Figura 2.25 – Segundo Tipo de Elo de Juntas Rotacionais Ortogonais (SANTOS,

2004) --------------------------------------------------------------------------------------------------

43

Figura 2.26 – Elo com Junta Prismática e Rotacional Ortogonais (SANTOS, 2004) 43

Figura 2.27 – Segundo Tipo de Elo de Juntas Prismática e Rotacional Ortogonais

(SANTOS, 2004) ------------------------------------------------------------------------------------- 44

Figura 2.28 – Manipulador 3-DOF (CRAIG,2006) ------------------------------------------- 46

Figura 2.29 – Manipulador 2-DOF (SANTOS, 2004) ---------------------------------------- 47

Figura 2.30 – Ângulos auxiliares para Resolução da Cinemática Inversa (SANTOS,

2004) --------------------------------------------------------------------------------------------------

48

Figura 2.31 – Manipulador Robótico Rotacional – Prismático (CRAIG, 2006) ------ 52

Figura 2.32 – Posição, Velocidade e Aceleração (CRAIG, 2006) ------------------------- 54

Figura 3.1 – Robô DENSO® com seus Seis Graus de Liberdade (QUANSER, 2013) 59

Figura 3.2 – Módulo de Controle do Robô DENSO® 6-DOF (QUANSER, 2013) ----- 60

Figura 3.3 – O Robô DENSO® VP-6242 6-DOF (QUANSER, 2013) ----------------------- 60

Figura 3.4 – Modelo Massa-Mola (ARAUJO, SOUZA, FENILI, 2011) -------------------- 62

Figura 3.5 – Esquema do Link Flexível mostrando seus ângulos (QUANSER,

2011c) -------------------------------------------------------------------------------------------------

62

Figura 3.6 – Montagem SRV02 – Link Flexível (QUANSER, 2011b) -------------------- 66

Figura 3.7 – Circuito de Condicionamento de Sinais do Strain Gage (QUANSER,

2011b) ------------------------------------------------------------------------------------------------

67

Figura 3.8 – Esquema com as ligações para o Experimento do Link Flexível

(QUANSER, 2011b) --------------------------------------------------------------------------------- 67

Figura 3.9 – Calibração e o uso do Pente (QUANSER, 2011b) --------------------------- 69

Figura 3.10 – Programa para Leitura da Tensão Aferida pelo Strain Gage

(Modificado de QUANSER, 2011c) ------------------------------------------------------------- 69

Figura 3.11 – Posição dos Potenciômetros de OFFSET e GANHO no Circuito do

Strain Gage (QUANSER, 2011b) ----------------------------------------------------------------- 69

Figura 3.12 – Programa para Leitura da Frequência do Link (QUANSER, 2011c) - 70

Page 10: Estudo da Modelagem Robótica

9

Figura 3.13 – Forma de Onda na Aferição da Frequência Natural do Link

(QUANSER, 2011c) --------------------------------------------------------------------------------- 70

Figura 3.14 – Tensão de 0 V medida na calibração do Strain Gage -------------------- 71

Figura 3.15 – Tensão aproximada 1 V aferida pelo Strain Gage quando

Flexionado em 1 Polegada ----------------------------------------------------------------------- 72

Figura 3.16 – Forma de Onda Oscilante Medida para Estimação da Frequência

Natural do Link ------------------------------------------------------------------------------------- 73

Figura 3.17 – Programa que Permite a Validação do Modelo Estimado

(QUANSER, 2011c) --------------------------------------------------------------------------------- 74

Figura 3.18 – Validação do Modelo para Valores de 𝜃 ----------------------------------- 75

Figura 3.19 – Validação do Modelo para Valores de 𝛼 ----------------------------------- 80

Figura 4.1 – Programa para Simulação do Controlador no Sistema (QUANSER,

2011c) -------------------------------------------------------------------------------------------------

80

Figura 4.2 – Sinal Simulado para a Tensão no motor 𝑉𝑚 --------------------------------- 81

Figura 4.3 – Sinal Simulado para valores de 𝜃. O Sinal azul é a Referência (±30𝑉)

e o Sinal verde é o Medido ----------------------------------------------------------------------- 81

Figura 4.4 – Sinal Simulado para valores de 𝛼 ---------------------------------------------- 82

Figura 4.5 – Programa para Implementação do Controlador no Sistema

(QUANSER, 2011c) --------------------------------------------------------------------------------- 83

Figura 4.6 – Sinal do motor 𝑉𝑚 na Implementação do Sistema ------------------------- 65

Figura 4.7 – Sinal de 𝜃 na Implementação do Sistema. O Sinal azul é a Referência

(±30𝑉) e o verde é a Resposta do Sistema -------------------------------------------------- 84

Figura 4.8 – Sinal de 𝛼 na Implementação do Sistema ------------------------------------ 84

Figura A1 – Representação Geométrica do Produto Vetorial (SANTOS, 2004) ----- 110

Figura A2 – Exemplo Prático para Multiplicação de Matrizes (SANTOS, 2004) ---- 110

Page 11: Estudo da Modelagem Robótica

10

LISTA DE SÍMBOLOS

𝛼 - Deflexão do link.

𝑙 - Comprimento do link.

𝐽𝑎𝑟𝑚 - Momento de inércia do link.

𝐾𝑠𝑡𝑖𝑓𝑓 - Coeficiente de rigidez do link.

𝑚 - Massa do link.

𝐷 - Distância que o link defletiu em relação ao repouso.

0𝑖 − Ponto de origem do sistema de coordenada 𝑖.

𝑧𝑖 ∩ 𝑥𝑖 − Ponto de Intersecção entre o eixo 𝑧𝑖 𝑒 𝑥𝑖 .

𝑂𝑖 , 𝑃𝑖|𝑥𝑖− Distância do ponto 𝑂𝑖 até o ponto 𝑃𝑖 medida ao longo do eixo 𝑥𝑖 .

∠ 𝑥𝑖 , 𝑧𝑖 |𝑦𝑖− Ângulo medido da direção de 𝑥𝑖 para a direção de 𝑧𝑖 em torno do eixo

𝑦𝑖 .

𝜂𝑚 - eficiência do motor.

𝜂𝑔 - eficiência das engrenagens.

𝑘𝑡 - constante de torque do motor.

𝑘𝑔 - razão de transmissão da caixa de engrenagens somada com a razão transmissão

das engrenagens externas.

𝑉𝑚 - tensão de alimentação do motor.

𝐾𝑚 - constante de força contra-eletromotriz.

𝑅𝑚 - resistência de armadura do motor.

ℒ - Função Lagrangeana.

𝐽 - Índice de desempenho do Regulador Linear Quadrático.

𝑇, 𝑘 – Energia Cinética.

𝑇𝑜𝑢𝑡 - Torque de saída do motor DC.

Page 12: Estudo da Modelagem Robótica

11

𝑉, 𝑢 - Energia Potencial.

𝐽𝑒𝑞 – Momento equivalente de inércia.

𝐵𝑒𝑞 - Coeficiente de amortecimento viscoso equivalente.

𝑡𝑠 - Tempo de estabilização.

𝑃. 𝑂. - Máximo sobressinal ou porcentagem de overshoot.

𝑸 – Matriz diagonal de peso utilizada para ajuste do Índice de desempenho.

𝑲 - Matriz de ganho de realimentação de estados.

diag (∙) – Matriz diagonal.

𝑷 - Matriz positiva definida solução da Equação de Riccati.

𝑶 - Matriz Nula.

𝑰 – Matriz Identidade.

𝑎, 𝑏, 𝑝 - Escalares.

∙ 𝑇 - Transposto de uma matriz.

∙ −1 - Inversa de uma matriz.

𝑨 - Matriz de Estados do sistema.

𝑩 - Matriz de entrada.

𝑪 - Matriz de saída.

𝑫 – Matriz de Transmissão Direta.

𝑃𝑒𝑟 – Período.

𝑓𝑐 , 𝜔𝑐 – Frequência natural do link.

𝑉 - Volt.

° - Ângulo em graus.

𝑠 – segundo.

% - Porcentagem.

𝐴𝑑𝑗 (∙) - Matriz adjunta.

Page 13: Estudo da Modelagem Robótica

12

det(∙) - Determinante de uma matriz.

tan(∙) - Tangente de uma função.

cos−1(∙) – Arco cosseno de uma função.

𝑬 – polos de malha fechada do sistema controlado.

𝑑

𝑑𝑡(∙) - Derivada de uma função.

𝒖 𝑡 - Lei de Controle.

𝑟𝑎𝑛𝑘(∙) - Rank ou número de linhas/colunas linearmente independentes de uma

matriz.

𝓞 - Matriz de Observabilidade.

𝓒 - Matriz de Controlabilidade.

𝒙 𝑡 – Vetor de estados.

𝒚 𝑡 - Processo de saída.

𝑡𝑓 - Tempo final.

𝑡𝑖 - Tempo inicial.

𝝉 - Vetor de momentos de torção aplicados aos atuadores do manipulador.

𝒈 - Vetor de gravidade.

𝑢𝑟𝑒𝑓 - Constante que escolhida de tal forma que o mínimo de 𝑢𝑖 seja zero, onde 𝑢𝑖 é a

energia potencial do i-ésimo link.

𝑷 - Vetor direção partindo do centro de gravidade do corpo rígido.

𝑰 – Tensor de Inércia.

𝑣 - Aceleração linear.

𝜔 - Aceleração angular.

𝑱 – Matriz Jacobiana.

𝒓 , 𝒒 – Vetores do espaço operacional e das juntas.

cos(∙) - Cosseno de uma função.

Page 14: Estudo da Modelagem Robótica

13

𝑠𝑒𝑛(∙) - Seno de uma função.

𝑻𝑾𝑩 - Matriz de transformação geométrica da base até o punho.

𝑨𝒊𝒊−𝟏 - Matriz de transformação geométrica do elo (𝑖 − 1) ao elo 𝑖.

𝑹𝒐𝒕 𝜃 - Matriz de Rotação de eixos em um ângulo 𝜃.

𝑻𝒓𝒂𝒏𝒔 𝑝𝑥 , 𝑝𝑦 - Matriz de translação no eixo x e eixo y.

𝒒𝑅 , 𝒒𝑁 – Ponto (vetor) 𝒒 nos referenciais R e N.

∥∙∥ - Norma euclidiana.

× - Produto Vetorial de Matrizes.

Page 15: Estudo da Modelagem Robótica

14

LISTA DE ABREVIATURAS

2-D – Bidimensional.

3-D – Tridimensional.

AC – Alternate Current (Corrente Alternada).

𝑐𝜃 = 𝑐𝑜𝑠(𝜃) - cosseno de teta.

𝑐1 = cos(𝜃1)

𝑐23 = cos(𝜃2 − 𝜃3)

DC – Direct Current (Corrente Contínua).

D-H – Algoritmo de Denavit – Hartenberg.

DOF – Degrees of Freedom (Graus de Liberdade).

ERP – Estritamente Real Positivo.

LQR – Linear Quadratic Regulator (Regulador Linear Quadrático).

Fuzzy T-S-K – Fuzzy Takagi-Sugeno-Kang.

LMI – Linear Matrix Inequalities (Inequações Matriciais Lineares).

LQG/LTR – Linear Quadratic Gaussian/Loop Transfer Recovery.

P – Junta Prismática.

PID – Proporcional – Integral – Derivativo.

R – Junta Rotacional.

S – Junta Esférica.

𝑠𝜃 = 𝑠𝑒𝑛(𝜃) - seno de teta.

SISO – Single Input – Single Output (Única Entrada – Única Saída).

SLIT – Sistema Linear Invariante no Tempo.

Page 16: Estudo da Modelagem Robótica

15

SUMÁRIO

1. INTRODUÇÃO ------------------------------------------------------------------------------------ 19

2. REVISÃO BIBLIOGRÁFICA ---------------------------------------------------------------------- 23

2.1. Principais Elementos de um Manipulador Industrial -------------------------------- 23

2.1.1. Braço, Punho, Elos e Juntas -------------------------------------------------------- 23

2.1.2. Tipos de Juntas ------------------------------------------------------------------------ 24

2.1.3. Controladores -------------------------------------------------------------------------- 25

2.1.4. Sensores e Atuadores ---------------------------------------------------------------- 25

2.2. Conceitos Básicos ----------------------------------------------------------------------------- 26

2.2.1. Graus de Liberdade (Degree of Freedom – DOF) ------------------------------ 26

2.2.2. Espaço de Trabalho (Workspace) ------------------------------------------------- 26

2.3. Sistemas de Coordenadas ------------------------------------------------------------------ 26

2.3.1. Sistemas de Eixos --------------------------------------------------------------------- 26

2.3.2. Pontos e Referenciais ---------------------------------------------------------------- 26

2.3.3. Transformações Genéricas Elementares ---------------------------------------- 27

2.3.4. A Notação Matricial para Representar Transformações de um Ponto a duas Dimensões ------------------------------------------------------------------------------------

28

a) Matriz Identidade (Transformação Nula) e sem Translação ------------ 28

b) Reflexão em Relação a um Eixo (Simetria Axial) --------------------------- 29

c) Reflexão em Relação à Origem (Simetria Central) ------------------------- 29

d) Fator de Escala -------------------------------------------------------------------- 29

e) Rotação de 90⁰ em Torno da Origem ---------------------------------------- 30

f) Matriz de Rotação para o Caso Geral ------------------------------------------ 30

2.3.5. Representação Compacta para a Matriz de Transformação em duas

Dimensões ------------------------------------------------------------------------------------------- 31

2.3.6. Transformações Compactas – O Produto de Matrizes de

Transformações ------------------------------------------------------------------------------------

32

a) Sucessão de Translações (Operação Comutativa) -------------------------- 32

b) Sucessão de Rotações no Plano (Operação Comutativa) ---------------- 32

c) Sucessão de Translações e Rotações (Operação não Comutativa) ---- 33

Page 17: Estudo da Modelagem Robótica

16

2.3.7. Matrizes de Transformação no Espaço de 3 Dimensões -------------------- 34

a) Generalização dos Conceitos para um Espaço 3D -------------------------- 34

b) Componentes da Matriz de Transformações -------------------------------- 34

2.3.8. Interpretações do que Significa a Matriz de Transformação -------------- 35

2.4. Cinemática ------------------------------------------------------------------------------------- 37

2.4.1. Espaço das Juntas e Espaço Cartesiano ------------------------------------------ 37

2.4.2. Algoritmo para Determinar a Cinemática Direta ------------------------------ 38

a) Eixo de uma Junta ------------------------------------------------------------------ 38

a1) Eixo de uma Junta Rotacional ----------------------------------------------- 38

a2) Eixo de uma Junta Prismática ----------------------------------------------- 38

b) Parâmetros de Elos e Juntas ----------------------------------------------------- 39

b1) Comprimento do Elo (𝑎𝑖) -------------------------------------------------- 39

b2) Distância entre Elos ou Deslocamento de Juntas (𝑑𝑖) -------------- 39

b3) Ângulo de Junta (𝜃𝑖) -------------------------------------------------------- 39

b4) Ângulo de Torção do Elo (𝛼𝑖) -------------------------------------------- 40

c) Alguns Exemplos de Elos --------------------------------------------------------- 40

c1) Elo de Juntas Rotacionais Paralelas -------------------------------------- 40

c2) Elo de Juntas Rotacionais Paralelas com Desalinhamento --------- 41

c3) Elo de Juntas Rotacionais Ortogonais ------------------------------------ 41

c4) Elo de Juntas Rotacionais Ortogonais com Desalinhamento ------ 42

c5) Outro Tipo de Elo de Juntas Rotacionais Ortogonais ---------------- 43

c6) Elo com Junta Prismática e Rotacional Ortogonais ------------------- 43

c7) Outro Tipo de Elo de Juntas Prismática e Rotacional Ortogonais - 44

d) Transformação 𝐴𝑖𝑖−1 associada a um Elo ------------------------------------ 45

e) O Algoritmo de Denavit-Hartenberg ------------------------------------------- 45

f) Exemplo ------------------------------------------------------------------------------ 46

2.4.3. Cinemática Inversa -------------------------------------------------------------------- 47

a) Resolução para um Manipulador R (Rotacional) no Plano --------------- 47

2.4.4. O Jacobiano de um Manipulador -------------------------------------------------- 49

2.5. Dinâmica dos Manipuladores -------------------------------------------------------------- 49

2.5.1. Aceleração de um Corpo Rígido ---------------------------------------------------- 49

Page 18: Estudo da Modelagem Robótica

17

2.5.2. Distribuição de Massas --------------------------------------------------------------- 50

2.5.3. Formulação Lagrangeana da Dinâmica dos Manipuladores --------------- 50

a) Exemplo ------------------------------------------------------------------------------- 51

2.6. Geração de Trajetórias ---------------------------------------------------------------------- 53

2.6.1. Tipos de Movimentos ---------------------------------------------------------------- 53

a) Ponto a Ponto ----------------------------------------------------------------------- 53

b) Trajetória Contínua ---------------------------------------------------------------- 53

2.6.2. Função para a Continuidade da Velocidade ----------------------------------- 53

a) Exemplo ----------------------------------------------------------------------------- 55

2.7. Teoria de Controle LQR (Linear Quadratic Regulator – Regulador Quadrático Linear) ------------------------------------------------------------------------------------------------

55

2.8. Conclusão Parcial ---------------------------------------------------------------------------- 58

3. DESENVOLVIMENTO E METODOLOGIA --------------------------------------------------- 59

3.1. Manipulador DENSO® 6-DOF -------------------------------------------------------------- 59

3.1.1. Uma ideia geral sobre o Robô DENSO® 6-DOF VP-6242 -------------------- 59

3.1.2. Parâmetros de Denavit-Hartenberg (Cinemática Direta) ------------------- 60

3.1.3. Matriz Jacobiana ---------------------------------------------------------------------- 61

3.2. Sistema Link Flexível (1-DOF) -------------------------------------------------------------- 62

3.2.1. Modelagem Matemática do Sistema QUANSER® de um Link (1-DOF) - 62

3.2.2. Montagem do Sistema Link Flexível 1-DOF ------------------------------------- 66

3.2.3. Calibração do Sistema QUANSER® de 1-DOF ----------------------------------- 68

3.2.4. Obtenção da Frequência Natural do Sistema QUANSER® 1-DOF --------- 70

3.2.5. Projeto do Controlador LQR aplicado ao Sistema de 1-DOF --------------- 71

a) Calibração do Strain Gage do Link Flexível ------------------------------------ 71

b) Estimação da Frequência Natural do Link e o Modelo em Espaço de Estados Estimado -----------------------------------------------------------------------------------

72

c) Validação do Modelo em Espaço de Estados --------------------------------- 74

d) Testes com Diversos Valores para a Matriz Peso 𝑸 do Controlador LQR ----------------------------------------------------------------------------------------------------

76

3.3. Conclusão Parcial ----------------------------------------------------------------------------- 78

4. RESULTADOS -------------------------------------------------------------------------------------- 79

4.1. Simulações ------------------------------------------------------------------------------------- 79

Page 19: Estudo da Modelagem Robótica

18

4.2. Implementação -------------------------------------------------------------------------------- 82

4.3. Conclusão Parcial ----------------------------------------------------------------------------- 85

5. CONCLUSÃO -------------------------------------------------------------------------------------- 87

5.1. Pesquisas Futuras ----------------------------------------------------------------------------- 88

6. REFERÊNCIAS BIBLIOGRÁFICAS -------------------------------------------------------------- 89

APÊNDICE I – Setup do modelo Link Flexível QUANSER® com Cálculo da Matriz de Realimentação de Estados 𝑲, Matriz 𝑷 e os Polos de Malha Fechada 𝑬 -------------

91

APÊNDICE II – Configurações do SRV02 -------------------------------------------------------- 95

APÊNDICE III – Configuração do Link Flexível ----------------------------------------------- 103

APÊNDICE IV – Matrizes do Modelo de Espaço de Estado Estimado ------------------- 105

APÊNDICE V – Cálculo das Constantes do Modelo ------------------------------------------ 107

ANEXO I - Matrizes e Vetores -------------------------------------------------------------------- 109

1 - Produto de um escalar por uma matriz --------------------------------------- 109

2 - Inversão de uma matriz ----------------------------------------------------------- 109

3 - Produto escalar de vetores ------------------------------------------------------ 109

4 - Produto vetorial de vetores ------------------------------------------------------ 109

5 - Produto Genérico entre matrizes ---------------------------------------------- 110

ANEXO II - Matrizes Definidas Positivas ------------------------------------------------------- 111

ANEXO III – Mecânica Lagrangeana ------------------------------------------------------------ 113

Page 20: Estudo da Modelagem Robótica

19

1. INTRODUÇÃO

A história da automação industrial é caracterizada por períodos de rápidas mudanças

tecnológicas; o resultado disto tem sido o desenvolvimento de autômatos capazes de

realizar as mais complexas tarefas com o maior nível de sofisticação e precisão

possíveis. Foi exatamente neste contexto que surgiram os manipuladores robóticos

industriais (CRAIG, 2006).

O uso de manipuladores industriais tem aumentado significantemente desde meados

dos anos 1960, impulsionados pelo crescimento industrial surgido a partir deste

período.

A partir dos anos 1980, houve uma expansão no uso destes manipuladores robóticos

devido à popularidade dos computadores pessoais, que passaram a ser o centro de

comando de tarefas e controle. Com isso, inúmeros tipos de indústrias passaram a

utilizar estes recursos para aumentar sua produtividade, tendo como principais

usuários as indústrias automobilísticas, seguindo as indústrias aeroespaciais,

eletrônica, mecânica, metalúrgica, construção civil, mineração, agricultura entre outras

(CRAIG, 2006).

A seguir, apresenta-se uma breve cronologia da História dos Manipuladores Robóticos,

desde o seu surgimento até os dias atuais (SCHIRMER, 2005):

Joseph Marie Jacquard (1801) - desenvolvimento do tear programável através de cartões perfurados. A invenção de Jacquard é o primeiro dispositivo programável de que se tem notícia e foi tomado como base para o desenvolvimento de outros dispositivos programáveis desenvolvidos posteriormente.

Chistopher Spencer (1830) - invenção do torno programável por cames.

Seward Babbitt (1892) - invenção do guindaste motorizado.

Willard Pollard e Harold Roselund (1938) - projeto do primeiro mecanismo de movimentação de pistola de pintura programável para a companhia Devilbiss.

George C. Devol (1946) – patente de dispositivo para manuseio de materiais, com "memória programável".

Raymond Goetz (1951) - projeta um manipulador remoto, um dispositivo mestre-escravo utilizado para movimentar materiais perigosos - radioativos.

Em 1952 é construída pelo Laboratório de Servomecanismos do Instituto de Tecnologia de Massachusetts (MIT) a primeira máquina-ferramenta controlada por comando numérico (máquina CNC).

C. W. Kenward (Inglaterra, 1954) - requer a patente da invenção do primeiro robô.

George C. Devol (E.U.A., 1954) - projeta e desenvolve o robô para transferência programada de peças para a Unimate. Esse dispositivo teve origem na combinação de duas novas tecnologias: o comando numérico e o manipulador

Page 21: Estudo da Modelagem Robótica

20

remoto. A tecnologia CNC permitia coordenar o funcionamento de uma máquina-ferramenta através da informação armazenada em programa. A aplicação dessa característica das máquinas CNC em um manipulador remoto permitiu, então, a Devol criar um manipulador que pudesse ser programado e que funcionasse sem que uma pessoa o comandasse remotamente.

Planet Corporation (1959) - introduz o primeiro robô comercial para movimentação de peças, controlado por chaves fim-de-curso e cames.

É lançado o primeiro robô Unimate hidráulico, pela Unimation (1960).

Versatran - primeiro robô cilíndrico, projetado por Harry Johnson e Veljko Milenkovic é introduzido no mercado pela American Machinery Foundry Corporation.

General Motors (1962) - instalação do primeiro robô industrial (Unimation) na linha de produção.

Aplicação das transformações homogêneas a cinemática do robô (1965).

Desenvolvimento do braço robótico elétrico na universidade de Stanford (1970).

Lançamento do primeiro robô industrial controlado por computador, T3, projeto de Richad Hohn, na Cincinnati Milacrom (1973).

Em 1974, nos EUA, o professor Victor Scheinman, projetista do robô de Stanford, comercializa a versão industrial para este modelo.

Desenvolvimento do robô PUMA - (Programmed Universal Machine for Assembly) pela Unimation (1978).

Desenvolvimento do robô SCARA (Selective Compliance Arm for Robotic Assembly), pela universidade Yamanashi (Japão, 1979).

Outras aplicações mais avançadas que vêm sendo alvo de pesquisa nos últimos anos

estão localizadas na área de telemedicina. A utilização de robôs para fins médicos

ganhou enorme importância devido ao fato de robôs serem mais precisos em

processos cirúrgicos, menos invasivos e com menor tempo de recuperação aos

pacientes (IYER, LOOI, DRAKE, 2013; KESHMIRI, XIE, MOHEBBI, 2013; MARCUS et al.,

2014; LOOI et al., 2013).

O presente trabalho aborda uma pesquisa básica sobre robótica para, em um futuro

próximo, aplicar os conhecimentos em um manipulador robótico, o DENSO® VP-6242

(QUANSER, 2013) da empresa QUANSER® que possui seis graus de liberdade e vem

sendo alvo de pesquisas na área biomédica em todo o mundo (IYER, LOOI, DRAKE,

2013; KESHMIRI, XIE, MOHEBBI, 2013; MARCUS et al., 2014; LOOI et al., 2013).

Outra abordagem do trabalho é o projeto de um controlador LQR aplicado ao

QUANSER® Flexible Link, que para nossas aplicações é tomado como um manipulador

robótico com um grau de liberdade e proporciona uma visão mais simples sobre o

funcionamento de apenas um link ou braço manipulador (POPESCU, SENDRESCU,

BOBASU, 2008; ARAÚJO, SOUZA, FELINI, 2011; GUEDES, SANTOS, SOUZA, 2010).

Page 22: Estudo da Modelagem Robótica

21

O trabalho está dividido na seguinte forma:

O Capítulo 2 apresenta a teoria matemática de manipuladores robóticos e

segue de forma similar aos livros clássicos que tratam do assunto (CRAIG, 2006;

SICILIANO et al., 2009; CORKE, 2011; SPONG, HUTCHINSON, VIDYASASGAR,

2006). Portanto, o capítulo 2 inclui Sistemas de Coordenadas, Matrizes de

Transformação, Cinemática Direta e Cinemática Inversa, Jacobiano de um

manipulador, Dinâmica e Geração de Trajetórias além, de incluir também a

Teoria de Controle LQR (Regulador Linear Quadrático) (OGATA, 2010; DORF,

BISHOP, 2010).

No Capítulo 3, será apresentado todo desenvolvimento e a metodologia

proposta para a realização do trabalho. Uma ideia geral do Manipulador

DENSO® 6-DOF VP-6242 (QUANSER, 2013) é apresentada como motivação para

o estudo e testes de um sistema mais básico, o Link Flexível de um grau de

liberdade da empresa QUANSER®.

Os resultados estão contidos no Capítulo 4. Neste capítulo, são apresentados

resultados de simulação e implementação de um Controlador LQR aplicado ao

Link Flexível da empresa QUANSER®.

Por fim, o Capítulo 5 apresenta as conclusões finais, argumentando a

importância do estudo da Robótica nos dias atuais e também discutindo de

forma resumida os resultados obtidos nos Capítulos 3 e 4.

Page 23: Estudo da Modelagem Robótica

22

Page 24: Estudo da Modelagem Robótica

23

2. REVISÃO BIBLIOGRÁFICA

Neste capítulo será apresentada de forma didática a teoria dos manipuladores

robóticos começando por Sistemas de Coordenadas, Matrizes de Transformação,

Cinemática Direta e Inversa, Jacobiano de um manipulador, Dinâmica e Geração de

Trajetórias finalizando com a teoria do controlador LQR.

A fim de iniciar os estudos em robótica, faz-se necessário seguir uma sequência que

permite a melhor compreensão do conteúdo e segue-se como a maioria dos livros

clássicos versando sobre o assunto (CRAIG, 2006; SICILIANO et al., 2009; CORKE, 2011;

SPONG, HUTCHINSON, VIDYASASGAR, 2006).

2.1. Principais Elementos de um Manipulador Industrial

2.1.1. Braço, Punho, Elos e Juntas

O braço do manipulador robótico, elo ou link, conforme mostra a Figura 2.1, está

geralmente associado aos movimentos espaciais de posicionamento (x, y, z) no espaço

cartesiano. Já o punho do manipulador robótico está associado aos movimentos

espaciais de orientação (𝜃, 𝜙, 𝜓) da garra, pinça ou end-effector (CRAIG, 2006).

Porém, podem também ocorrer movimentos cruzados de forma que o braço

modifique a orientação e o punho modifique o posicionamento do robô.

Figura 2.1 – Modelo de Conexão entre Junta e Elos (SANTOS, 2004).

Há diversos tipos de garras utilizadas em manipuladores robóticos. A Figura 2.2 mostra

pinças e garras com funcionamento pelo vácuo, magnética, adesivos e as mãos

antropomórficas (SANTOS, 2004).

Podem ser utilizadas também como end-effector ferramentas tais como, soldadores,

furadores, polidores, etc. que são bastante úteis para as indústrias em geral (SANTOS,

2004).

Page 25: Estudo da Modelagem Robótica

24

Figura 2.2 – Diversos Tipos de Garras utilizadas em Manipuladores Robóticos

(SANTOS, 2004).

Dois elos de um robô são conectados por partes rígidas chamadas de juntas, conforme

mostra a Figura 2.1.

2.1.2. Tipos de Juntas

As juntas utilizadas por manipuladores robóticos podem ser divididas, essencialmente,

em Prismáticas (P), Rotacionais (R) e as Esféricas (S) como mostradas em (CRAIG, 2006;

SANTOS, 2004).

A junta Prismática (P) é aquela cujo movimento relativo dos elos é linear. A junta

Rotacional (R) é aquela cujo movimento relativo dos elos é rotacional. Já a junta

Esférica (S) é a combinação de três juntas rotacionais no mesmo ponto de rotação.

A Figura 2.3 ilustra os três tipos de juntas: Rotacional, Prismática e Esférica.

Page 26: Estudo da Modelagem Robótica

25

Figura 2.3 – Os Três Tipos de Juntas: Rotacional, Prismática e Esférica (SANTOS,

2004).

2.1.3. Controlador

O Controlador é a unidade responsável por gerar os sinais que são enviados a um ou

mais atuadores, seguindo algoritmos de controle específicos. Geralmente, faz parte de

um sistema maior do que simplesmente os circuitos eletrônicos, tal como o algoritmo

rodando em um computador pessoal.

Por exemplo, o robô DENSO® 6-DOF VP-6242M, além de possuir uma unidade de

controle chamada RC7M, que é apenas um hardware com amplificadores, também

possui instalado em seu programa principal os algoritmos de controle em nível de

software, como será abordado mais tarde neste trabalho (QUANSER, 2013).

2.1.4. Sensores e Atuadores

Os sensores são elementos destinados a medição do estado interno e externo do

manipulador. Os principais sensores que podem ser utilizados em um manipulador

robótico são: sensores de força (por exemplo, o robô DENSO 6-DOF VP-6242M possui

um sensor de força em seu end-effector (QUANSER, 2013) detectores de proximidade

capacitivos e indutivos, potenciômetros, tacômetros, etc. (SANTOS, 2004).

Os atuadores são os dispositivos que geram e impõem os movimentos às partes

mecânicas pelo uso de forças e momentos baseado em princípios físicos de conversão

de energia. Os principais atuadores em manipuladores robóticos são: motores

elétricos, cilindros pneumáticos e hidráulicos, eletroímãs, etc. (SANTOS, 2004).

Page 27: Estudo da Modelagem Robótica

26

2.2. Conceitos Básicos

2.2.1. Graus de Liberdade (Degree of Freedom – DOF)

O número de graus de Liberdade é o número total de movimentos independentes que

um dispositivo pode realizar. Por exemplo, um cubo no espaço tridimensional pode se

deslocar ao longo dos três eixos (x, y, z) e ainda rodar em cada um deles resultando

num total de 6 graus de liberdade (6-DOF) (SANTOS, 2004).

2.2.2. Espaço de Trabalho (Workspace)

O espaço de trabalho de um manipulador robótico é definido como a região espacial

onde o manipulador pode posicionar o seu end-effector ou garra (CRAIG, 2006;

SANTOS, 2004).

2.3. Sistemas de Coordenadas

2.3.1. Sistemas de Eixos

O sistema de eixos ou coordenadas que sera utilizado para a análise é o cartesiano

(ortogonal), mostrado na Figura 2.4. O sistema cartesiano sera utilizado no sentido

positivo dos ângulos, isto é, pela convenção usual (sentido anti-horário) (CRAIG, 2006;

SANTOS, 2004; CORKE, 2011).

A notação aqui adotada sera letra em negrito para matrizes e vetores e letra simples

para escalares.

Figura 2.4 – Sistema de Eixos Ortogonal Cartesiano (SANTOS, 2004).

2.3.2. Pontos e Referenciais

Qualquer ponto no espaço pode ser visto de diferentes formas, conforme o referencial

usado. Portanto, o referencial pode-se dizer que é o ponto de vista.

Page 28: Estudo da Modelagem Robótica

27

Por exemplo, admitindo-se dois referenciais designados por R e N, um mesmo ponto q

que é um vetor no espaço pode ser designado pela equação (2.1), vista do referencial

R, e pela equação (2.2), vista no referencial N (CRAIG, 2006; SANTOS, 2004).

𝒒𝑅 = [𝑥𝑅 𝑦𝑅 𝑧𝑅]𝑇 (2.1)

𝒒𝑁 = [𝑥𝑁 𝑦𝑁 𝑧𝑁]𝑇 (2.2)

Figura 2.5 – Sistema com Dois Referenciais: 𝒒𝑅 e 𝒒𝑁 (SANTOS, 2004).

2.3.3. Transformações Genéricas Elementares

Os dois tipos de movimentos mais comuns são a Rotação e a Translação.

Como exemplo pode-se mostrar que uma rotação no espaço, em torno do eixo z, em

um ângulo 𝛼 é dada por 𝑹𝒐𝒕(𝑧, 𝛼) e uma translação no espaço de tamanho a ao longo

do eixo y é dada por 𝑻𝒓𝒂𝒏𝒔 𝑦, 𝑎 = 𝑻𝒓𝒂𝒏𝒔(0, 𝑎, 0). A Figura 2.6 ilustra melhor estes

conceitos.

Figura 2.6 – Transformação Rotacional e Translacional (SANTOS, 2004).

Page 29: Estudo da Modelagem Robótica

28

No espaço tridimensional, há seis transformações geométricas independentes

elementares, que são três rotações e três translações: 𝑻𝒓𝒂𝒏𝒔 𝑥, 𝑎 , 𝑻𝒓𝒂𝒏𝒔 𝑦, 𝑎 ,

𝑻𝒓𝒂𝒏𝒔 𝑧, 𝑎 , 𝑹𝒐𝒕(𝑥, 𝛼), 𝑹𝒐𝒕(𝑦, 𝛼) e 𝑹𝒐𝒕(𝑧, 𝛼) (CRAIG, 2006; SANTOS, 2004).

2.3.4. A Notação Matricial para Representar Transformações de um Ponto a duas

Dimensões

A transformação geométrica genérica para uma translação no plano é dado por (2.3).

𝑥1 = 𝑥 + 𝑝𝑥

𝑦1 = 𝑦 + 𝑝𝑦

(2.3)

Ou seja, representando a (2.3) em notação matricial, chegamos à equação (2.4).

𝑥1

𝑦1 =

𝑥𝑦 +

𝑝𝑥

𝑝𝑦 (2.4)

Agora tomando uma forma mais genérica para a rotação e a translação (SANTOS,

2004) temos (2.5).

𝑥1 = 𝑎𝑥 + 𝑏𝑦 + 𝑝𝑥

𝑦1 = 𝑐𝑦 + 𝑑𝑦 + 𝑝𝑦

(2.5)

Partindo da equação (2.5) e utilizando a notação matricial obtém-se (2.6):

𝑥1

𝑦1 =

𝑎 𝑏𝑐 𝑑

𝑥𝑦 +

𝑝𝑥

𝑝𝑦 (2.6)

Chamaremos de 𝑻 = 𝑎 𝑏𝑐 𝑑

, a matriz quadrada e de 𝑷 = 𝑝𝑥

𝑝𝑦 o vetor de translação.

Se tivermos somente translação no sistema tomamos 𝑻 = 𝑰, onde 𝑰 é a matriz

identidade e se 𝑷 = 𝑶, onde 𝑶 é o vetor nulo, então se considera sem translação

(SANTOS, 2004). Agora veremos alguns exemplos utilizando a notação matricial.

a) Matriz Identidade (Transformação Nula) e sem Translação

Se 𝑻 = 𝑰 = 1 00 1

então,

𝑥1

𝑦1 =

1 00 1

𝑥𝑦 +

00 =

𝑥𝑦 (2.7)

Portanto, observando a equação (2.7), não houve transformação geométrica. Pode-se

concluir que a matriz identidade não introduz transformação geométrica (SANTOS,

2004).

Page 30: Estudo da Modelagem Robótica

29

b) Reflexão em Relação a um Eixo (Simetria Axial)

Se 𝑻 = −1 00 1

então,

𝑥1

𝑦1 =

−1 00 1

𝑥𝑦 +

00 =

−𝑥𝑦 (2.8)

Assim, em (2.8), houve uma reflexão em relação ao eixo x, como mostrado pela Figura

2.7.

Figura 2.7 – Reflexão em Relação a um Eixo (SANTOS, 2004).

c) Reflexão em Relação à Origem (Simetria Central)

Tomando a matriz como 𝑻 = −1 00 −1

então,

𝑥1

𝑦1 =

−1 00 −1

𝑥𝑦 +

00 =

−𝑥−𝑦 (2.9)

Portanto, neste caso, houve uma reflexão em relação ao eixo x e y, como mostrado

pela Figura 2.8.

Figura 2.8 – Reflexão em Relação à Origem (SANTOS, 2004).

d) Fator de Escala

Neste caso não há translação, apenas a multiplicação de um fator para qualquer uma

das escalas.

Page 31: Estudo da Modelagem Robótica

30

Tomando a matriz 𝑻 = 𝑎 00 1

, o sistema fica então:

𝑥1

𝑦1 =

𝑎 00 1

𝑥𝑦 =

𝑎𝑥𝑦 (2.10)

A Figura 2.9 ilustra o conceito de fator de escala para 𝑎 = 3.

Figura 2.9 – Fator de Escala (SANTOS, 2004).

e) Rotação de 90° em Torno da Origem

Tomando a matriz 𝑻 = 0 −11 0

, o sistema fica então:

𝑥1

𝑦1 =

0 −11 0

𝑥𝑦 =

−𝑦𝑥

(2.11)

A Figura 2.10 ilustra uma rotação no plano de 90° em torno da origem obtida pela

equação (2.11)

Figura 2.10 – Rotação de 90⁰ em torno da Origem (SANTOS, 2004).

f) Matriz de Rotação para o Caso Geral

Tomando um caso genérico, pode-se considerar a matriz de rotação 𝑻 como mostrada

em (2.12).

𝑻 = 𝑐𝜃 −𝑠𝜃𝑠𝜃 𝑐𝜃

(2.12)

Page 32: Estudo da Modelagem Robótica

31

onde 𝑐𝜃 = 𝑐𝑜𝑠𝜃 e 𝑠𝜃 = 𝑠𝑒𝑛𝜃 tomando notação abreviada (CRAIG, 1955; SANTOS,

2004).

A Figura 2.11 mostra uma rotação genérica no plano.

Figura 2.11 – Rotação Genérica no Plano (SANTOS, 2004).

2.3.5. Representação Compacta para a Matriz de Transformação em duas

Dimensões

Uma forma mais geral e compacta de representar as transformações mostradas

anteriormente é utilizando o conceito de coordenadas homogêneas; o resultado final é

mostrado na Figura 2.12.

Figura 2.12 – Matriz Genérica de Transformação Geométrica (Rotação + Translação)

(SANTOS, 2004).

Assim, por exemplo, uma rotação pura no plano pode ser representada por (2.13).

𝑐𝜃 −𝑠𝜃 0𝑠𝜃 𝑐𝜃 00 0 1

(2.13)

Já uma translação pura no plano pode ser representada por (2.14).

1 0 𝑝𝑥

0 1 𝑝𝑦

0 0 1

(2.14)

Page 33: Estudo da Modelagem Robótica

32

2.3.6. Transformações Compactas – O Produto de Matrizes de Transformações

Uma transformação geométrica é a geração de um ponto a partir de outro qualquer

(CRAIG, 2006; SANTOS, 2004). O produto das matrizes de transformação traduz-se na

multiplicação de diversas transformações, ou seja, em sucessivas transformações. É

necessário observar a comutatividade de algumas transformações.

a) Sucessão de Translações (Operação Comutativa)

Como exemplo, temos duas translações, a primeira representada pela equação (2.15) e

a segunda pela (2.16).

𝑻𝟏 = 𝑻𝒓𝒂𝒏𝒔 𝑎𝑥 , 𝑎𝑦 = 1 0 𝑎𝑥

0 1 𝑎𝑦

0 0 1

(2.15)

𝑻𝟐 = 𝑻𝒓𝒂𝒏𝒔 𝑏𝑥 ,𝑏𝑦 = 1 0 𝑏𝑥

0 1 𝑏𝑦

0 0 1

(2.16)

A multiplicação dessas transformações resulta em (2.17), o que prova a

comutatividade da transformação.

𝑻𝟏 ∙ 𝑻𝟐 = 𝑻𝒓𝒂𝒏𝒔 𝑎𝑥 , 𝑎𝑦 ∙ 𝑻𝒓𝒂𝒏𝒔 𝑏𝑥 , 𝑏𝑦 = 1 0 𝑎𝑥

0 1 𝑎𝑦

0 0 1

. 1 0 𝑏𝑥

0 1 𝑏𝑦

0 0 1

=

1 0 𝑎𝑥 + 𝑏𝑥

0 1 𝑎𝑦 + 𝑏𝑦

0 0 1

= 𝑻𝟐 (2.17)

b) Sucessão de Rotações no Plano (Operação Comutativa)

Tomando como exemplo duas rotações no plano, a primeira representada pela

equação (2.18) e a segunda pela equação (2.19).

𝑻𝟏 = 𝑹𝒐𝒕 𝜃1 = 𝑐𝜃1 −𝑠𝜃1 0𝑠𝜃1 𝑐𝜃1 00 0 1

(2.18)

𝑻𝟐 = 𝑹𝒐𝒕 𝜃2 = 𝑐𝜃2 −𝑠𝜃2 0𝑠𝜃2 𝑐𝜃2 0

0 0 1

(2.19)

Page 34: Estudo da Modelagem Robótica

33

A multiplicação dessas transformações também resultou na propriedade comutativa

como pode-se observar em (2.20).

𝑻𝟏 ∙ 𝑻𝟐 = 𝑹𝒐𝒕 𝜃1 ∙ 𝑹𝒐𝒕 𝜃2 = 𝑐𝜃1 −𝑠𝜃1 0𝑠𝜃1 𝑐𝜃1 00 0 1

. 𝑐𝜃2 −𝑠𝜃2 0𝑠𝜃2 𝑐𝜃2 0

0 0 1

=

𝑐(𝜃1 + 𝜃2) − 𝑠(𝜃1 + 𝜃2) 0𝑠(𝜃1 + 𝜃2) 𝑐(𝜃1 + 𝜃2) 0 0 0 1

= 𝑻𝟐 ∙ 𝑻𝟏 (2.20)

Portanto, a operação é comutativa e esta transformação corresponde a rodar (girar)

ordenadamente os sucessivos ângulos de rotação (SANTOS, 2004).

c) Sucessão de Translações e Rotações (Operação não Comutativa)

Tomando uma transformação de translação em (2.21) e uma de rotação em (2.22) a

multiplicação não resulta em comutação das transformações como observado em

(2.23).

𝑻𝟏 = 𝑻𝒓𝒂𝒏𝒔 𝑝𝑥 , 𝑝𝑦 = 1 0 𝑝𝑥

0 0 𝑝𝑦

0 0 1

(2.21)

𝑻𝟐 = 𝑹𝒐𝒕 𝜃 = 𝑐𝜃 − 𝑠𝜃 0𝑠𝜃 𝑐𝜃 0 0 0 1

(2.22)

Fazendo a multiplicação de (2.21) e (2.22) têm-se (2.23).

𝑻𝟏 ∙ 𝑻𝟐 = 1 0 𝑝𝑥

0 1 𝑝𝑦

0 0 1

∙ 𝑐𝜃 − 𝑠𝜃 0𝑠𝜃 𝑐𝜃 0 0 0 1

= 𝑐𝜃 − 𝑠𝜃 𝑝𝑥

𝑠𝜃 𝑐𝜃 𝑝𝑦

0 0 1

(2.23)

Fazendo 𝑻𝟐 ∙ 𝑻𝟏 têm-se a matriz de transformação dada por (2.24) e observa-se que é

distinta de (2.23).

𝑻𝟐 ∙ 𝑻𝟏 =

𝑐𝜃 − 𝑠𝜃 𝑝𝑥𝑐𝜃 − 𝑝𝑦𝑠𝜃

𝑠𝜃 𝑐𝜃 𝑝𝑥𝑠𝜃 + 𝑝𝑦𝑐𝜃

0 0 1

(2.24)

Portanto, a operação é não comutativa.

Page 35: Estudo da Modelagem Robótica

34

2.3.7. Matrizes de Transformação no Espaço de 3 Dimensões

a) Generalização dos Conceitos para um Espaço 3D

Os conceitos até agora abordados para o plano podem ser estendidos para o espaço

3D (SANTOS, 2004). Para a translação adiciona-se mais um grau de liberdade e para a

rotação, agora, há três possibilidades, como mostraremos mais adiante.

O vetor de translação fica então como em (2.25).

𝑷 =

𝑝𝑥

𝑝𝑦 𝑝𝑧

1

(2.25)

b) Componentes da Matriz de Transformações

A matriz de transformação geral para o caso do espaço 3D tem a forma mostrada em

(2.26);

𝑻 =

𝑎 𝑏 𝑐 𝑝𝑥

𝑑 𝑒 𝑓 𝑝𝑦

𝑔 𝑕 𝑖 𝑝𝑧 0 0 0 1

(2.26)

As possíveis matrizes de rotação para o espaço 3D estão mostradas em (2.27), (2.28) e

(2.29).

𝑹𝒐𝒕(𝑥, 𝜃) =

1 0 0 0 0 𝑐𝜃 − 𝑠𝜃 0 0 𝑠𝜃 𝑐𝜃 0

0 0 0 1

(2.27)

𝑹𝒐𝒕(𝑦, 𝜃) =

𝑐𝜃 0 𝑠𝜃 0 0 1 0 0 −𝑠𝜃 0 𝑐𝜃 0

0 0 0 1

(2.28)

𝑹𝒐𝒕(𝑧, 𝜃) =

𝑐𝜃 − 𝑠𝜃 0 0 𝑠𝜃 𝑐𝜃 0 0 0 0 1 0

0 0 0 1

(2.29)

A Figura 2.13 mostra as rotações e seus respectivos eixos.

Page 36: Estudo da Modelagem Robótica

35

Figura 2.13 – Sistema Cartesiano e as Rotações em cada Eixo (SANTOS, 2004).

De forma genérica pode-se definir a seguinte matriz transformação para o espaço 3D,

como mostrado em (SANTOS, 2004).

Figura 2.14 – Forma Expandida da Matriz de Transformação para o Espaço 3D.

(SANTOS, 2004).

Os elementos de perspectiva/projeção e o fator de escala global não foram utilizados

neste trabalho pelo fato de serem utilizados para o tratamento geométrico de imagem

digital. Portanto, considera-se a última linha da matriz da Figura 2.14 como sendo [0 0

0 1].

2.3.8. Interpretações do que Significa a Matriz de Transformação

A matriz de transformação indica as transformações geométricas operadas sobre um

ponto para levar para outro local geométrico (outro ponto), ou seja, pode ser

interpretada como a movimentação do ponto (SANTOS, 2004). A Figura 2.15 abaixo

mostra esta possível interpretação.

Page 37: Estudo da Modelagem Robótica

36

Figura 2.15 – Movimentação de um Ponto (SANTOS, 2004 ).

Uma transformação geométrica pode ser vista também como a relação entre as

coordenadas de um mesmo ponto físico em dois referenciais diferentes, ou seja,

relaciona-se com a movimentação (criação) de um referencial (SANTOS, 2004). A

Figura 2.16 ilustra este conceito.

Figura 2.16 – Movimentação (criação) de um Referencial (SANTOS, 2004).

E por fim pode indicar também uma transformação de um referencial (R) em outro

referencial (N), ou seja, cria-se um novo referencial aplicando rotações e translações

(SANTOS, 2004), a Figura 2.17 abaixo exemplifica o contexto explicado acima.

Figura 2.17 – Relação entre dois Referenciais (SANTOS, 2004).

Page 38: Estudo da Modelagem Robótica

37

2.4. Cinemática

A Cinemática de um manipulador é o estudo do conjunto de relações entre as

posições, velocidades e acelerações de seus elos (SANTOS, 2004; CRAIG, 2006;

SICILIANO et al., 2009; CORKE, 2011).

Antes de iniciar o estudo da Cinemática de um manipulador, é necessário definir o

sistema de coordenadas de cada elo, ou seja, atribuir-lhes referenciais, como será

apresentado no algoritmo de D-H que será visto na seqüência.

As relações geométricas entre elos são traduzíveis por matrizes de transformação, e

será com esta ferramenta que será descrita a cinemática do sistema.

2.4.1. Espaço das Juntas e Espaço Cartesiano

A cinemática divide-se em dois tipos: direta e inversa.

A cinemática direta diz respeito à localização da mão ou punho a partir da posição das

juntas (SANTOS, 2004).

A cinemática inversa é o contrário da cinemática direta, ou seja, determina a posição

das juntas a partir da posição da mão ou punho (SANTOS, 2004).

Desta forma definem-se dois espaços de variáveis: o das juntas e o sistema cartesiano

operacional (SANTOS, 2004).

A dimensão do espaço operacional é seis, ou seja, são três translações e três rotações

e o espaço das juntas tem como dimensão o número de juntas que o manipulador

possui.

A Figura 2.18 mostra a relação entre os dois tipos de cinemática e os espaços

relacionados.

Figura 2.18 – Modelo Relacionando a Cinemática Direta e Inversa (SANTOS, 2004).

Page 39: Estudo da Modelagem Robótica

38

2.4.2. Algoritmo para Determinar a Cinemática Direta

A cinemática direta de um manipulador são as relações que exprimem um ponto no

espaço cartesiano, 𝒓 em função de um ponto no espaço de juntas, 𝒒 (SANTOS, 2004).

Os passos são os seguintes:

1. Colocar o robô na posição de repouso;

2. Atribuir um sistema de coordenadas a cada elo;

3. Descrever a rotações e translações entre as variáveis da juntas e dos elos;

4. Determinar as matrizes 𝑨𝒊 de cada elo;

5. Multiplicar as matrizes 𝑨𝒊 para obter a matriz de transformação geral 𝑻𝑯𝑹 ;

6. Obter as coordenadas de posição da mão ou punho;

7. Obter as coordenadas de orientação da mão ou punho.

a) Eixo de uma Junta

É o eixo relacionado com a simetria do movimento inerente à própria junta.

Convenciona-se que seja o eixo da coordenada z (SANTOS, 2004).

a1) Eixo de uma Junta Rotacional

Existem dois tipos: colineares e ortogonais, como mostrado pela Figura 2.19 abaixo.

Figura 2.19 – Eixo de uma Junta Rotacional: Colinear e Ortogonal (SANTOS, 2004).

a2) Eixo de uma Junta Prismática

Semelhante à rotacional,possui juntas colineares e ortogonais como mostrado pela

Figura 2.20 abaixo.

Figura 2.20 – Eixo de uma Junta Prismática: Colinear e Ortogonal (SANTOS, 2004).

Page 40: Estudo da Modelagem Robótica

39

b) Parâmetros de Elos e Juntas

Para atribuir o correto sistema de coordenadas ao sistema, é necessário levar em

consideração a geometria dos elos e as consequências entre eles (SANTOS, 2004).

É muito útil definir aqui os quatro parâmetros de elos e juntas, pois serão utilizados

para o cálculo do algoritmo de Denavit-Hartenberg, que possibilita o estudo da

cinemática direta.

Um elo pode ser caracterizado por um determinado número de parâmetros

geométrico-cinemáticos, no que diz respeito à transformação geométrica que opera

(SANTOS, 2004).

A simbologia a ser usada a seguir é (SANTOS, 2004):

0𝑖 − Ponto de origem do sistema de coordenada 𝑖.

𝑧𝑖 ∩ 𝑥𝑖 − Ponto de Intersecção entre o eixo 𝑧𝑖 𝑒 𝑥𝑖 .

𝑂𝑖 , 𝑃𝑖|𝑥𝑖− Distância do ponto 𝑂𝑖 até o ponto 𝑃𝑖 medida ao longo do eixo 𝑥𝑖 .

∠ 𝑥𝑖 , 𝑧𝑖 |𝑦𝑖− Ângulo medido da direção de 𝑥𝑖 para a direção de 𝑧𝑖 em torno do eixo

𝑦𝑖 .

b1) Comprimento do Elo (𝒂𝒊)

É a distancia medida ao longo da normal comum entre os eixos das juntas (SANTOS,

2004). Está relacionado com o conceito de afastamento linear entre os eixos das

juntas. Matematicamente é definido pela equação (2.30) a seguir.

𝑎𝑖 = 𝑧𝑖−1 ∩ 𝑥𝑖 , 0𝑖 |𝑥𝑖 (2.30)

O termo 𝑧𝑖−1 representa a coordenada 𝑧 do elo anterior ao 𝑖-ésimo elo.

b2) Distância entre Elos ou Deslocamento de Juntas (𝒅𝒊)

O deslocamento de juntas traduz, em geral, a distância entre elos medida ao longo do

eixo da junta anterior (SANTOS, 2004), definida por (2.31) a seguir.

𝑑𝑖 = 0𝑖−1, (𝑧𝑖−1 ∩ 𝑥𝑖)|𝑧𝑖−1 (2.31)

b3) Ângulo de Junta (𝜽𝒊)

Definido entre o eixo de um elo e o eixo do elo seguinte e calcula-se como em (2.32)

(SANTOS, 2004).

𝜃𝑖 = ∠ 𝑥𝑖−1, 𝑥𝑖 |𝑧𝑖−1 (2.32)

Page 41: Estudo da Modelagem Robótica

40

b4) Ângulo de Torção do Elo (𝜶𝒊)

É o ângulo de uma torção que o elo impõe desde o eixo da junta anterior até ao eixo

da junta seguinte (SANTOS, 2004). A definição matemática é dada por (2.33).

𝛼𝑖 = ∠(𝑧𝑖−1, 𝑧𝑖)|𝑥𝑖 (2.33)

c) Alguns Exemplos de Elos

Serão descritos agora alguns exemplos de elos e o cálculo de seus parâmetros,

mostrando como variam de acordo com a geometria do elo.

c1) Elo de Juntas Rotacionais Paralelas

A Figura 2.21 mostra um elo de duas juntas rotacionais paralelas.

Figura 2.21 – Elo de duas Juntas Rotacionais Paralelas (SANTOS, 2004).

A Tabela 2.1 mostra os parâmetros para elo de duas juntas rotacionais paralelas.

Parâmetros Valores

𝑎𝑛 ≠ 0 𝑑𝑛 0 𝜃𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝛼𝑛 0

Tabela 2.1 – Parâmetros para Elo de duas Juntas Rotacionais Paralelas.

Page 42: Estudo da Modelagem Robótica

41

c2) Elo de Juntas Rotacionais Paralelas com Desalinhamento

A Figura 2.22 mostra um elo de juntas rotacionais paralelas com desalinhamento.

Figura 2.22 – Elo de duas Juntas Rotacionais Paralelas Desalinhadas (SANTOS,

2004).

A Tabela 2.2 mostra os parâmetros para elo de duas juntas rotacionais paralelas

desalinhadas.

Parâmetros Valores

𝑎𝑛 ≠ 0 𝑑𝑛 ≠ 0 𝜃𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝛼𝑛 0

Tabela 2.2 – Parâmetros para Elo de duas Juntas Rotacionais Paralelas

Desalinhadas.

c3) Elo de Juntas Rotacionais Ortogonais

A Figura 2.23 mostra um elo de juntas rotacionais ortogonais.

Figura 2.23 – Elo de Juntas Rotacionais Ortogonais (SANTOS, 2004).

Page 43: Estudo da Modelagem Robótica

42

A Tabela 2.3 mostra os parâmetros para elo de juntas rotacionais ortogonais.

Parâmetros Valores

𝑎𝑛 ≠ 0 𝑑𝑛 0 𝜃𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝛼𝑛 −90°

Tabela 2.3 – Parâmetros para Elo de Juntas Rotacionais Ortogonais.

c4) Elo de Juntas Rotacionais Ortogonais com Desalinhamento

A Figura 2.24 mostra um elo de juntas rotacionais ortogonais com desalinhamento.

Figura 2.24 – Elo de Juntas Rotacionais Ortogonais Desalinhadas (SANTOS, 2004).

A Tabela 2.4 mostra os parâmetros para elo de juntas rotacionais ortogonais

desalinhados.

Parâmetros Valores

𝑎𝑛 ≠ 0 𝑑𝑛 ≠ 0 𝜃𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝛼𝑛 −90°

Tabela 2.4 – Parâmetros para Elo de Juntas Rotacionais Ortogonais

Desalinhados.

Page 44: Estudo da Modelagem Robótica

43

c5) Outro Tipo de Elo de Juntas Rotacionais Ortogonais

A Figura 2.25 mostra outro tipo elo de juntas rotacionais ortogonais.

Figura 2.25 – Segundo Tipo de Elo de Juntas Rotacionais Ortogonais (SANTOS,

2004).

A Tabela 2.5 mostra os parâmetros para o segundo tipo de elo de juntas rotacionais

ortogonais.

Parâmetros Valores

𝑎𝑛 0 𝑑𝑛 ≠ 0 𝜃𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝛼𝑛 +90°

Tabela 2.5 – Parâmetros para o Segundo Tipo de Elo de Juntas Rotacionais

Ortogonais.

c6) Elo com Junta Prismática e Rotacional Ortogonais

A Figura 2.26 mostra um elo de junta prismática e rotacional ortogonais.

Figura 2.26 – Elo com Junta Prismática e Rotacional Ortogonais (SANTOS, 2004).

Page 45: Estudo da Modelagem Robótica

44

A Tabela 2.6 mostra os parâmetros para elo com junta prismática e rotacional

ortogonais.

Parâmetros Valores

𝑎𝑛 0 𝑑𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝜃𝑛 +90° 𝛼𝑛 +90°

Tabela 2.6 – Parâmetros para Elo com Junta Prismática e Rotacional

Ortogonais.

c7) Outro Tipo de Elo de Juntas Prismática e Rotacional Ortogonais

A Figura 2.27 mostra outro tipo de elo de juntas prismática e rotacional ortogonais.

Figura 2.27 – Segundo Tipo de Elo de Juntas Prismática e Rotacional Ortogonais

(SANTOS, 2004).

A Tabela 2.7 mostra os parâmetros para o segundo tipo de elo de duas juntas

prismática e rotacional ortogonais.

Parâmetros Valores

𝑎𝑛 ≠ 0 𝑑𝑛 𝑣𝑎𝑟𝑖á𝑣𝑒𝑙 𝜃𝑛 0 𝛼𝑛 +90°

Tabela 2.7 – Parâmetros para Segundo Tipo de Elo de Juntas Prismática e

Rotacional Ortogonais.

Page 46: Estudo da Modelagem Robótica

45

d) Transformação 𝑨𝒊𝒊−𝟏 associada a um Elo

Pode-se relacionar a transformação geométrica realizada por um elo 𝑖 e sua junta

correspondente 𝑖 dando origem a um referencial 𝑖 + 1, e pode-se descrever utilizando

as quatro operações elementares como mostrado a seguir (SANTOS, 2004):

Rotação 𝜃𝑖 em torno do eixo da junta (𝑧𝑖−1);

Translação longitudinal ao longo do eixo do elo (𝑥𝑖) do seu próprio

comprimento (𝑎𝑖);

Translação Transversal ao longo do eixo da junta (𝑧𝑖) do afastamento

entre juntas (𝑑𝑖);

Rotação 𝛼𝑖 do eixo da junta 𝑧𝑖 em torno do eixo longitudinal (𝑥𝑖) do elo.

Portanto a transformação é da forma mostrada em (2.34).

𝑨𝒊𝒊−𝟏 = 𝑹𝒐𝒕(𝑧, 𝜃𝑖) ∙ 𝑻𝒓𝒂𝒏𝒔(𝑎𝑖 , 0 ,0) ∙ 𝑻𝒓𝒂𝒏𝒔(0, 0, 𝑑𝑖) ∙ 𝑹𝒐𝒕(𝑥, 𝛼𝑖) =

𝑐𝜃𝑖 − 𝑠𝜃𝑖𝑐𝛼𝑖 𝑠𝜃𝑖𝑠𝛼𝑖 𝑎𝑖𝑐𝜃𝑖

𝑠𝜃𝑖 𝑐𝜃𝑖𝑐𝛼𝑖 − 𝑐𝜃𝑖𝑠𝛼𝑖 𝑎𝑖𝑠𝜃𝑖 0 𝑠𝛼𝑖 𝑐𝛼𝑖 𝑑𝑖 0 0 0 1

(2.34)

e) O Algoritmo de Denavit-Hartenberg

O algoritmo de Denavit-Hartenbeg (D-H) é um algoritmo de cinemática direta que

permite obter os sistemas de coordenadas e as transformações associadas a cada elo

de um manipulador (CRAIG, 2006; SANTOS, 2004). É utilizado principalmente quando

há uma complicação na análise do manipulador por ter muitos graus de liberdade,

como por exemplo, o DENSO® VP-6242 6-DOF. A Tabela 2.8, ilustra a descrição do

algoritmo de Denavit-Hartenberg.

1 Estabelecer o sistema de coordenadas (𝑥0 ,𝑦0 , 𝑧0) na base de suporte, com 𝑧0

ao longo do eixo da junta 1. Convencionar 𝑥0 e 𝑦0 de forma conveniente.

2 Para 𝑖 = 1 até 𝑖 = 𝑛 − 1

3 Definir eixo da junta 𝑖 e alinhar 𝑧𝑖 com eixo da junta 𝑖 + 1

4 Definir 0𝑖 (origem do sistema de coordenadas de um dos seguintes modos:

5 Intersecção de 𝑧𝑖 com 𝑧𝑖−1, isto é, a intersecção da normal comum entre 𝑧𝑖 e

𝑧𝑖−1

6 Definir 𝑥𝑖 = ±(𝑧𝑖−1 × 𝑧𝑖), ou ao longo da normal comum a 𝑧𝑖−1 e 𝑧𝑖 quando

são paralelos

7 Definir 𝑦𝑖 = 𝑧𝑖 × 𝑥𝑖

8 Próximo 𝑖

9 Estabelecer o sistema de coordenadas da mão 0𝑛 (o último). Normalmente a junta n é rotacional: 𝑧𝑛 é colinear com 𝑧𝑛−1 e aponta para “fora”, 𝑥𝑛 é normal

à 𝑧𝑛 e 𝑧𝑛−1 e 𝑦𝑛 é dado de acordo com o sistema direto atual

10 Determinar parâmetros de elos e juntas

Para 𝑖 = 1 até 𝑖 = 𝑛

11 𝑑𝑖 = 0𝑖−1 , (𝑧𝑖−1 ∩ 𝑥𝑖)|𝑧𝑖−1 ; é a variável de junta se for prismática

12 𝑎𝑖 = 𝑧𝑖−1 ∩ 𝑥𝑖 , 0𝑖 |𝑥𝑖

13 𝜃𝑖 = ∠ 𝑥𝑖−1 ,𝑥𝑖 |𝑧𝑖−1

14 𝛼𝑖 = ∠(𝑧𝑖−1 , 𝑧𝑖)|𝑥𝑖

15 Próximo 𝑖

Tabela 2.8 – Descrição do Algoritmo de Denavit-Hartenberg (D-H) (SANTOS, 2004).

Page 47: Estudo da Modelagem Robótica

46

A seguir, será resolvido um exemplo retirado de (CRAIG, 2006) para melhor

compreensão do problema de determinar a cinemática direta por meio do algoritmo

de Denavit-Hartenberg.

f) Exemplo (CRAIG, 2006 – Exercício 3.3 – Página 92)

Um braço manipulador com três graus de liberdade (3-DOF) é mostrado na Figura 2.28.

Obtenha os parâmetros dos elos e as equações cinemáticas para 𝑻𝑾𝑩 (transformação

da base até o punho) pelo algoritmo de Denavit-Hartenberg (D-H).

Figura 2.28 – Manipulador 3-DOF (CRAIG, 2006)

Os parâmetros de D-H para o manipulador da Figura 2.28 são mostrados na Tabela 2.9,

onde 𝑖 representa as juntas do manipulador.

𝑖 𝛼𝑖−1 𝑎𝑖−1 𝑑𝑖 𝜃𝑖 1 0 0 0 0

2 𝜃1 = 90° 𝐿1 0 𝜃2 3 0 𝐿2 0 𝜃3

Tabela 2.9 – Parâmetros de D-H para Manipulador de 3-DOF.

As transformações para cada elo na sequência são dadas por (2.35), (2.36) e por (2.37).

𝑻𝟏𝟎 =

𝑐𝜃1 − 𝑠𝜃1 0 0 𝑠𝜃1 𝑐𝜃1 0 0 0 0 1 0 0 0 0 1

(2.35)

𝑻𝟐𝟏 =

𝑐𝜃2 − 𝑠𝜃2 0 𝐿1

0 0 − 1 0𝑠𝜃2 𝑐𝜃2 0 0

0 0 0 1

(2.36)

Page 48: Estudo da Modelagem Robótica

47

𝑻𝟑𝟐 =

𝑐𝜃3 − 𝑠𝜃3 0 𝐿2

𝑠𝜃3 𝑐𝜃3 0 0 0 0 1 0 0 0 0 1

(2.37)

Portanto, a transformação final que relaciona a base com o punho do manipulador da

Figura 2.28 é dada por (2.38).

𝑻𝑾𝑩 = 𝑻𝟑

𝟎 = 𝑻𝟏𝟎 ∙ 𝑻𝟐

𝟏 ∙ 𝑻𝟑𝟐 =

𝑐1𝑐23 − 𝑐1𝑠23 𝑠1 𝐿1𝑐1 + 𝐿2𝑐1𝑐2

𝑠1𝑐23 − 𝑠1𝑠23 − 𝑐1 𝐿1𝑠1 + 𝐿2𝑠1𝑐2 𝑠23 𝑐23 0 𝐿2𝑠2 0 0 0 1

(2.38)

onde 𝑐1 = 𝑐𝑜𝑠𝜃1, 𝑐23 = cos(𝜃2 − 𝜃3) e assim por diante como notação simplificada.

2.4.3. Cinemática Inversa

A cinemática inversa é o método que procura determinar o conjunto de valores das

juntas que se relaciona com uma dada configuração do espaço cartesiano ou

operacional (CRAIG, 2006; SANTOS, 2004).

A cinemática inversa nem sempre é um problema de solução analítica, ou muitas vezes

não possui uma solução. Porém todas as configurações conhecidas possuem soluções;

somente para novas configurações é que não existe um método específico e talvez seja

necessária a invenção de um método novo (SANTOS, 2004).

a) Resolução para um Manipulador R (Rotacional) no Plano

Exemplo de equações da cinemática inversa para um manipulador 2-DOF, mostrado na

Figura 2.29 (SANTOS, 2004).

Para determinar a cinemática inversa, isto é, o valor das suas juntas 𝜃1 e 𝜃2 em função

da posição (𝑥, 𝑦) do end-effector toma-se as equações da cinemática direta em (2.39).

Figura 2.29 – Manipulador 2-DOF (SANTOS, 2004).

𝑥 = 𝐿1𝑐𝑜𝑠𝜃1 + 𝐿2cos(𝜃1 + 𝜃2)𝑦 = 𝐿1𝑠𝑒𝑛𝜃1 + 𝐿2sen(𝜃1 + 𝜃2)

(2.39)

Page 49: Estudo da Modelagem Robótica

48

Fazendo 𝑥2 + 𝑦2 e simplificando tem-se em (2.40).

𝑥2 + 𝑦2 = 𝐿12 + 𝐿2

2 + 2𝐿1𝐿2𝑐𝑜𝑠𝜃2 (2.40)

Isolando 𝜃2 em (2.40) tem-se em (2.41)

𝜃2 = ±𝑎𝑟𝑐𝑐𝑜𝑠𝑥2+𝑦2−𝐿1

2−𝐿22

2𝐿1𝐿2 (2.41)

Para calcular 𝜃1 tomam-se ângulos auxiliares como mostrado na Figura 2.30.

Figura 2.30 – Ângulos auxiliares para Resolução da Cinemática Inversa (SANTOS, 2004).

Sabendo que a tangente da diferença é dada por (2.42):

𝑡𝑔 𝐴 − 𝐵 =𝑡𝑔𝐴−𝑡𝑔𝐵

1+𝑡𝑔𝐴𝑡𝑔𝐵 , (2.42)

Analisando a Figura 2.30 têm-se as relações em (2.43) e (2.44)

𝑡𝑔𝛽 =𝐿2𝑠𝑒𝑛𝜃2

𝐿1+𝐿2𝑐𝑜𝑠𝜃2 (2.43)

𝑡𝑔𝛼 =𝑦

𝑥 (2.44)

Pela Figura 2.30 tem-se também (2.45).

𝜃1 = 𝛼 − 𝛽 (2.45)

Fazendo então a tangente da diferença entre os ângulos 𝛼 e 𝛽 obtém em (2.46)

tg 𝛼 − 𝛽 = 𝑡𝑔 𝜃1 =𝑦 𝐿1+𝐿2𝑐𝑜𝑠𝜃2 −𝑥𝐿2𝑠𝑒𝑛𝜃2

𝑥 𝐿1+𝐿2𝑐𝑜𝑠𝜃2 +𝑦𝐿2𝑠𝑒𝑛𝜃2 (2.46)

Portanto, o ângulo 𝜃1 é dado por (2.47).

𝜃1 = 𝑎𝑟𝑐 𝑡𝑔 𝑦 𝐿1+𝐿2𝑐𝑜𝑠𝜃2 −𝑥𝐿2𝑠𝑒𝑛𝜃2

𝑥 𝐿1+𝐿2𝑐𝑜𝑠𝜃2 +𝑦𝐿2𝑠𝑒𝑛𝜃2 (2.47)

Observa-se que, para este exemplo, a solução se deu desta forma, porém para outros

casos pode ser que não seja encontrada uma solução, por isso, existem diversos

Page 50: Estudo da Modelagem Robótica

49

métodos descritos na literatura. Para mais informações consultar (SICILIANO et. al.,

2009; SPONG, HUTCHINSON, VIDYASASGAR, 2006; CRAIG, 2006; CORKE, 2011).

2.4.4. O Jacobiano de um Manipulador

Para a cinemática direta, tem-se uma relação do tipo 𝒓 = 𝑭 (𝒒 ), ou seja, a posição do

manipulador é função da posição das juntas (CRAIG, 2006; SANTOS, 2004).

Para a cinemática inversa, tem-se a relação inversa do tipo 𝒒 = 𝑭 −𝟏(𝒓 ), isto é, a

posição das juntas está em função da configuração espacial do manipulador (CRAIG,

2006; SANTOS, 2004).

Assim, se quisermos saber como relacionar as velocidades de cada junta do

manipulador, precisamos conhecer o conceito da matriz jacobiana que se relaciona

com as posições das juntas e do espaço operacional como em (2.48).

𝒅𝒓 = 𝑱 ∙ 𝒅𝒒 (2.48)

Pela equação (2.48) tem-se que as velocidades espaciais estão relacionadas com a

velocidade das juntas através da matriz jacobiana, que é definida para n juntas e m

variáveis cartesianas como em (2.49).

𝑱: =

𝜕𝑟1

𝜕𝑞1⋯

𝜕𝑟1

𝜕𝑞𝑛

⋮ ⋱ ⋮𝜕𝑟𝑚

𝜕𝑞1⋯

𝜕𝑟𝑚

𝜕𝑞𝑛

(2.49)

2.5. Dinâmica dos Manipuladores

A dinâmica diz respeito às forças requeridas para produzir movimento.

Aqui se analisa as equações do movimento para um manipulador e a maneira como se

produz, aplicando-se momentos de torção aos atuadores ou devido a forças externas

aplicadas ao manipulador.

2.5.1. Aceleração de um Corpo Rígido

Em qualquer instante no tempo, a velocidade linear 𝑣 e angular 𝜔 possuem derivadas

chamadas de aceleração linear 𝑣 (2.50) e angular 𝜔 (2.51), respectivamente.

𝑣 =𝑑𝑣

𝑑𝑡 (2.50)

𝜔 =𝑑𝜔

𝑑𝑡 (2.51)

Page 51: Estudo da Modelagem Robótica

50

2.5.2. Distribuição de Massas

A distribuição de massa de um corpo rígido com 1-DOF (um grau de liberdade) em

movimento rotacional está relacionada com o chamado momento de inércia.

Para um corpo rígido com mais graus de liberdade em movimento de rotação é

necessário saber de forma completa a distribuição de massa. Neste caso, a distribuição

de massa está relacionada com o tensor de inércia (2.52) (CRAIG, 2006).

𝑰 =

𝐼𝑥𝑥 −𝐼𝑥𝑦 −𝐼𝑥𝑧−𝐼𝑥𝑦 𝐼𝑦𝑦 −𝐼𝑦𝑧−𝐼𝑥𝑧 −𝐼𝑦𝑧 𝐼𝑧𝑧

(2.52)

Onde os elementos (momentos de inércia) do tensor de inércia são dados de (2.53) a

(2.58). A integração tripla é sobre o volume do corpo rígido, ou seja, em três

dimensões (𝑥, 𝑦, 𝑧). O tensor de inércia possui estrutura simétrica.

𝐼𝑥𝑥 = (𝑦2 + 𝑧2)𝜌𝑑𝑣 (2.53)

𝐼𝑦𝑦 = (𝑥2 + 𝑧2)𝜌𝑑𝑣 (2.54)

𝐼𝑧𝑧 = (𝑥2 + 𝑦2)𝜌𝑑𝑣 (2.55)

𝐼𝑥𝑦 = 𝑥𝑦𝜌𝑑𝑣 (2.56)

𝐼𝑥𝑧 = 𝑥𝑧𝜌𝑑𝑣 (2.57)

𝐼𝑦𝑧 = 𝑦𝑧𝜌𝑑𝑣 (2.58)

2.5.3. Formulação Lagrangeana da Dinâmica dos Manipuladores

Para análise de sistemas mecânicos mais complexos, tais como um manipulador

robótico, é mais usual utilizar a mecânica de Lagrange, pois é mais apropriada do que a

mecânica newtoniana. Para informações básicas sobre a mecânica lagrangeana

consultar o ANEXO III.

Tomando a energia cinética do i-ésimo link como em (2.59).

𝑘𝑖 =1

2𝑚𝑖𝒗𝑖

𝑇𝒗𝑖 +1

2𝝎𝑖

𝑇𝑰𝑖𝝎𝑖 (2.59)

Onde o primeiro termo de (2.59) diz respeito à velocidade linear do link e o segundo

termo a velocidade angular. Os elementos da equação (2.59) são vetores ou matrizes

devido ao fato de se obter as velocidades através da matriz jacobiana em (2.48).

A energia cinética total (k) para um manipulador de n links e dada conforme (2.60).

Page 52: Estudo da Modelagem Robótica

51

𝑘 = 𝑘𝑖𝑛𝑖=1 (2.60)

Aqui se considera 𝑘 como uma função 𝑘(𝛉, 𝛉 ) conforme mostrado em (CRAIG, 2006),

onde 𝜽 é o vetor de ângulos da articulação do manipulador.

A energia potencial do i-ésimo link é dada por (2.61).

𝑢𝑖 = −𝑚𝑖𝒈𝑇𝑷𝑖 + 𝑢𝑟𝑒𝑓𝑖

(2.61)

onde 𝒈 é o vetor de gravidade (3x1), 𝑷 é o vetor direção partindo do centro de

gravidade do corpo rígido e 𝑢𝑟𝑒𝑓 é uma constante que escolhida de tal forma que o

mínimo de 𝑢𝑖 seja zero (CRAIG, 2006).

A energia potencial total (u) para n links é dada por (2.62).

𝑢 = 𝑢𝑖𝑛𝑖=1 (2.62)

Aqui se considera 𝑢 como uma função 𝑢(𝛉) conforme (CRAIG, 2006).

A função lagrangeana é dada por (2.63).

ℒ = 𝑘 − 𝑢 (2.63)

As equações dinâmicas de Euler-Lagrange para o manipulador robótico são dadas por

(2.64).

𝑑

𝑑𝑡

𝜕ℒ

𝜕𝛉 −

𝜕ℒ

𝜕𝛉= 𝝉 (2.64)

onde 𝝉 é um vetor (3x1) de momentos de torção aplicados aos atuadores do

manipulador (CRAIG, 2006).

a) Exemplo (CRAIG, 2006 – Exemplo 6.5 – Página 183)

Os links de um manipulador rotacional - prismático da Figura 2.31, tem os tensores de

inércia dados por (2.65) e (2.66) e massas totais de 𝑚1 e 𝑚2.

𝑰𝟏 =

𝐼𝑥𝑥1 0 00 𝐼𝑦𝑦1 0

0 0 𝐼𝑧𝑧1

(2.65)

𝑰𝟐 =

𝐼𝑥𝑥2 0 00 𝐼𝑦𝑦2 0

0 0 𝐼𝑧𝑧2

(2.66)

Page 53: Estudo da Modelagem Robótica

52

Figura 2.31 – Manipulador Robótico Rotacional – Prismático (CRAIG, 2006).

O centro de massas do link 1 se encontra a uma distância 𝑙1 do eixo da articulação 1 e

o centro de massas do link 2 se encontra a uma distância variável 𝑑2 do eixo da

articulação 1. Use a dinâmica lagrangeana para determinar as equações de movimento

para o manipulador.

Pode-se escrever a energia cinética do link 1 como em (2.67).

𝑘1 =1

2𝑚1𝑙1

2𝜃 12 +

1

2𝐼𝑧𝑧1𝜃 1

2 (2.67)

E a energia cinética do link 2 como (2.68).

𝑘2 =1

2𝑚2 𝑑2

2𝜃 12 + 𝑑 2

2 +1

2𝐼𝑧𝑧2𝜃 1

2 (2.68)

Portanto, a energia cinética total é dada por (2.69).

𝑘 𝜽, 𝜽 = 1

2𝑚2 𝑑2

2𝜃 12 + 𝑑 2

2 +1

2𝐼𝑧𝑧2𝜃 1

2 +1

2𝑚1𝑙1

2𝜃 12 +

1

2𝐼𝑧𝑧1𝜃 1

2 (2.69)

A energia potencial do link 1 é dada por (2.70).

𝑢1 = 𝑚1𝑙1𝑔𝑠𝑒𝑛(𝜃1) + 𝑚1𝑙1𝑔 (2.70)

E a energia potencial do link 2 (2.71).

𝑢2 = 𝑚2𝑔𝑑2𝑠𝑒𝑛 𝜃1 + 𝑚2𝑔𝑑2𝑚𝑎𝑥 (2.71)

onde 𝑑2𝑚𝑎𝑥 é a extensão máxima da articulação 2 prismática. Portanto, a energia

potencial total do sistema é dada por (2.72).

𝑢 = 𝑚2𝑔𝑑2𝑠𝑒𝑛 𝜃1 + 𝑚2𝑔𝑑2𝑚𝑎𝑥 + 𝑚1𝑙1𝑔𝑠𝑒𝑛(𝜃1) + 𝑚1𝑙1𝑔 (2.72)

Calculando as derivadas parciais da equação de Euler-Lagrange (2.73), onde 𝜽 = 𝜃1

𝜃2 é

o vetor de ângulos das articulações:

Page 54: Estudo da Modelagem Robótica

53

𝑑

𝑑𝑡

𝜕𝑘

𝜕𝛉 −

𝜕𝑘

𝜕𝛉+

𝜕𝑢

𝜕𝜽= 𝝉 (2.73)

𝜕𝑘

𝜕𝛉 =

(𝑚1𝑙12 + 𝐼𝑧𝑧1 + 𝐼𝑧𝑧2 + 𝑚2𝑑2

2)𝜃1

𝑚2𝑑2 (2.74)

𝜕𝑘

𝜕𝛉=

0

𝑚2𝑑2𝜃12 (2.75)

𝜕𝑢

𝜕𝛉=

𝑔(𝑚1𝑙1 + 𝑚2𝑑2)cos(𝜃1)𝑔𝑚2sen(𝜃1)

(2.76)

Portanto, podem-se escrever as equações do movimento para o manipulador robótico-

prismático em (2.77) e (2.78).

𝜏1 = 𝑚1𝑙12 + 𝐼𝑧𝑧1 + 𝐼𝑧𝑧2 + 𝑚2𝑑2

2 𝜃 1 + 2𝑚2𝑑2𝜃 1𝑑2 + 𝑚1𝑙1 + 𝑚2𝑑2 𝑔𝑐𝑜𝑠(𝜃1) (2.77)

𝜏2 = 𝑚2𝑑2 − 𝑚2𝑑2𝜃1

2 + 𝑚2𝑔𝑠𝑒𝑛(𝜃1) (2.78)

2.6. Geração de Trajetórias

Apresenta-se aqui, de forma resumida, um método para o cálculo da trajetória que

descreve o movimento de um manipulador no espaço multidimensional. Entende-se

por trajetória o histórico no tempo da posição, velocidade e aceleração para cada grau

de liberdade (CRAIG, 2006).

2.6.1. Tipos de Movimentos

a) Ponto a Ponto

É o movimento em que o end-effector executa entre dois pontos em repouso no

espaço de trabalho.

b) Trajetória Contínua

É o movimento em que o end-effector obedece no espaço operacional a critérios

temporais precisos.

2.6.2. Função para a Continuidade da Velocidade

Tomando o caso mais simples, tem-se uma posição de partida e outra posição de

chegada, e as velocidades inicial e final iguais a zero, isto é, toma-se 𝜃 𝑡 = 0 para

𝑡 = 𝑡𝑖 e 𝑡 = 𝑡𝑓 , onde 𝑡𝑖 é o tempo inicial e 𝑡𝑓 é o tempo final.

Por simplicidade, escolhe-se como função um polinômio em t. Como a velocidade tem

duas raízes, portanto será um polinômio de grau dois (2.80), a posição de grau três

(2.79) e a aceleração será um polinômio de grau um (2.81), conforme mostrado em

(CRAIG, 2006).

Page 55: Estudo da Modelagem Robótica

54

𝜃 𝑡 = 𝑎0 + 𝑎1𝑡 + 𝑎2𝑡2 + 𝑎3𝑡

3 (2.79)

𝜃 𝑡 = 𝑎1 + 2𝑎2𝑡 + 3𝑎3𝑡2 (2.80)

𝜃 𝑡 = 2𝑎2 + 6𝑎3𝑡 (2.81)

A Figura 2.32 mostra os gráficos no tempo para a posição, velocidade e aceleração.

Figura 2.32 – Posição, Velocidade e Aceleração (CRAIG, 2006).

Torna-se necessário, agora, determinar os termos 𝑎0, 𝑎1,𝑎2 e 𝑎3 na equação (2.79).

Toma-se, portanto que 𝜃 0 = 𝜃0 , 𝜃 𝑡𝑓 = 𝜃𝑓 , 𝜃 0 = 0 e 𝜃 𝑡𝑓 = 0.

Combinando as equações (2.80) e (2.81) temos que: 𝜃0 = 𝑎0 (2.82)

𝜃𝑓 = 𝑎0 + 𝑎1𝑡𝑓 + 𝑎2𝑡𝑓2 + 𝑎3𝑡𝑓

3 (2.83)

0 = 𝑎1 (2.84)

0 = 𝑎1 + 2𝑎2𝑡𝑓 + 3𝑎3𝑡𝑓2 (2.85)

Resolvendo as equações de (2.82) a (2.85) temos:

𝑎0 = 𝜃0 (2.86)

𝑎1 = 0 (2.87)

𝑎2 =3

𝑡𝑓2 (𝜃𝑓 − 𝜃0) (2.88)

𝑎3 =−2

𝑡𝑓3 (𝜃𝑓 − 𝜃0) (2.89)

Existem outras formas de se expressar a trajetória realizada por um manipulador

robótico, incluindo polinômios de grau maior do que três e métodos heurísticos

(aproximados) de análise (CRAIG, 2006).

A seguir será apresentado um exercício para exemplificar melhor o assunto.

Page 56: Estudo da Modelagem Robótica

55

a) Exemplo (CRAIG, 2006 Exemplo 7.1, Página 205)

Um robô de 1-DOF com articulação giratória esta em repouso a 𝜃 = 15°. Deseja-se

mover a articulação de maneira uniforme até 𝜃 = 75° em 3 segundos. Encontre os

coeficientes da equação cúbica que realize este movimento e leve o manipulador para

seu destino.

Utilizando as equações (2.86) à (2.89) temos que:

𝑎0 = 𝜃0 = 15 (2.90)

𝑎1 = 0 (2.91)

𝑎2 =3

𝑡𝑓2 𝜃𝑓 − 𝜃0 = 20 (2.92)

𝑎3 =−2

𝑡𝑓3 𝜃𝑓 − 𝜃0 = −4.44 (2.93)

A partir das equações podem-se escrever as funções posição, velocidade e aceleração.

𝜃 𝑡 = 15 + 20𝑡2 − 4.44𝑡3 (2.94)

𝜃 𝑡 = 40𝑡 − 13.33𝑡2 (2.95)

𝜃 𝑡 = 40 − 26.66𝑡 (2.96)

2.7. Teoria de Controle LQR (Linear Quadratic Regulator – Regulador

Quadrático Linear)

Neste trabalho, será utilizada a teoria de controle em espaço de estados, pois é mais

adequada para a aplicação com manipuladores robóticos do que as baseadas na

relação entrada-saída ou função de transferência, também chamada de modelo no

domínio da frequência.

Seja um sistema linear invariante no tempo (SLIT) com única entrada-saída (SISO –

single input - single output); este sistema pode ser representado por (2.97) (OGATA,

2010; DORF, BISHOP, 2010).

𝒙 = 𝑨𝒙 + 𝑩𝒖, 𝒙 0 = 𝒙𝟎

𝒚 = 𝑪𝒙 + 𝑫𝒖 (2.97)

onde 𝒙 𝑡 denota o vetor de estados em ℝ𝑛 , 𝒖(𝑡) representa o vetor de controle em

ℝ𝑝 , 𝒚 𝑡 representa o processo de saída em ℝ𝑚 . Sendo que n, p e m são dimensões

apropriadas para as matrizes.

Page 57: Estudo da Modelagem Robótica

56

Se o par (A, B) é controlável, isto é, se o rank (número de linhas linearmente

independentes) da matriz de controlabilidade (2.98)(OGATA, 2010; DORF, BISHOP,

2010) equivale ao número total de estados do sistema (2.99), e se o par (A, C) é

observável, isto é, se o rank da matriz de observabilidade (2.100) (OGATA, 2010; DORF,

BISHOP, 2010) equivaler ao número total de estados do sistema (2.101), então o

método de controle LQR pode ser utilizado para encontrar o ganho de realimentação

de estado em malha fechada 𝑲.

𝓒 ≔ [𝑩 𝑨𝑩 𝑨𝟐𝑩… 𝑨𝒏𝑩] (2.98)

𝑟𝑎𝑛𝑘 𝓒 = 𝑛 (2.99)

𝓞 ≔ 𝑪 𝑪𝑨 𝑪𝑨𝟐 … 𝑪𝑨𝒏 𝑇 (2.100)

𝑟𝑎𝑛𝑘 𝓞 = 𝑛 (2.101)

Deve-se encontrar uma lei de controle 𝒖 𝑡 ≔ −𝑲𝒙(𝑡) de tal forma que minimize o

índice de desempenho do sistema ou função custo (2.102).

𝐽 = 𝒙 𝑡 𝑇𝑸𝒙 𝑡 + 𝒖 𝑡 𝑇𝑹𝒖 𝑡 𝑑𝑡∞

0 (2.102)

onde (∙)𝑇 é o operador transposto e 𝑸 e 𝑹 são matrizes de peso, que afetam como a

função custo é minimizada (OGATA, 2010).

Dado a lei de controle 𝒖 𝑡 , a representação em espaço de estado se torna (2.103)

(OGATA, 2010).

𝒙 = 𝑨𝒙 + 𝑩 −𝑲𝒙 = 𝑨 − 𝑩𝑲 𝒙 (2.103)

Para seguir com as demonstrações, considera-se que a matriz 𝑨 − 𝑩𝑲 é estável, isto é,

os autovalores de 𝑨 − 𝑩𝑲 têm parte real negativa.

Substituindo a equação de 𝒖 𝑡 no índice de desempenho fica como em (2.104).

Deve-se observar aqui a propriedade matricial que diz que 𝑨𝑩 𝑇 = 𝑩𝑇𝑨𝑇 .

𝐽 = (𝒙𝑇∞

0𝑸𝒙 + 𝒙𝑇𝑲𝑇𝑹𝑲𝒙)𝑑𝑡 = 𝒙𝑇 𝑸 + 𝑲𝑇𝑹𝑲 𝒙𝑑𝑡

0 (2.104)

Agora considerando (2.105) podemos definir:

𝒙𝑇 𝑸 + 𝑲𝑇𝑹𝑲 𝒙 = −𝑑

𝑑𝑡(𝒙𝑇𝑷𝒙) (2.105)

onde 𝑷 é uma matriz positiva definida ver ANEXO II. Então, resolvendo a derivada e

substituindo a equação (2.103) e sua transposta, chega-se em (2.106).

𝒙𝑇 𝑸 + 𝑲𝑇𝑹𝑲 𝒙 = −𝒙 𝑇𝑷𝒙 − 𝒙𝑇𝑷𝒙 = −𝒙𝑇 𝑨 − 𝑩𝑲 𝑇𝑷 + 𝑷 𝑨 − 𝑩𝑲 𝒙

(2.106)

Page 58: Estudo da Modelagem Robótica

57

Comparando-se ambos os lados da equação (2.106), vê-se que:

𝑨 − 𝑩𝑲 𝑇𝑷 + 𝑷 𝑨 − 𝑩𝑲 = −(𝑸 + 𝑲𝑇𝑹𝑲) (2.107)

Caso a matriz 𝑨 − 𝑩𝑲 seja estável, então existe uma matriz positiva definida 𝑷 que

satisfaz a equação (2.107) (OGATA, 2010).

O procedimento é determinar a matriz 𝑷. Se o sistema é estável, existe uma matriz 𝑷

positiva definida que satisfaz a equação (2.60). Isso significa que resolvendo a equação

e encontrando uma matriz 𝑷 definida positiva então o sistema é estável (OGATA,

2010).

Então o índice de desempenho 𝐽 pode ser calculado como em (2.108).

𝐽 = 𝒙𝑇 𝑸 + 𝑲𝑇𝑹𝑲 𝒙𝑑𝑡 = 𝒙𝑇 0 𝑷𝒙(0)∞

0 (2.108)

Desta forma, o índice de desempenho 𝐽 pode ser obtido em termos da condição inicial

do vetor de estado e a matriz 𝑷 (OGATA, 2010; DORF, BISHOP, 2010).

Para obter a solução do problema de controle ótimo quadrático, procede-se com se

segue a partir de agora. Seja 𝑹 assumida uma matriz positiva definida; pode-se

escrever então a equação (2.109) (OGATA, 2010).

𝑹 = 𝑻𝑇𝑻 (2.109)

onde 𝑻 é uma matriz não singular, ou seja, 𝑻 sempre admite uma matriz inversa. Então

a equação (2.107) pode ser rescrita como em (2.110).

𝑨𝑇 − 𝑲𝑇𝑩𝑇 𝑷 + 𝑷 𝑨 − 𝑩𝑲 + 𝑸 + 𝑲𝑇𝑻𝑇𝑻𝑲 = 𝟎 (2.110)

Reescrevendo como em (2.111) (OGATA, 2010).

𝑨𝑇𝑷 + 𝑷𝑨 + 𝑻𝑲 − 𝑻𝑇 −𝟏𝑩𝑇𝑷 𝑇 𝑻𝑲 − 𝑻𝑇 −𝟏𝑩𝑇𝑷 − 𝑷𝑩𝑹−𝟏𝑩𝑇𝑷 + 𝑸 = 𝟎

(2.111)

A minimização de 𝐽 com relação a 𝑲 requer a minimização de (2.112) com respeito a

𝑲.

𝒙𝑇 𝑻𝑲 − 𝑻𝑇 −𝟏𝑩𝑇𝑷 𝑇 𝑻𝑲 − 𝑻𝑇 −𝟏𝑩𝑇𝑷 𝒙 (2.112)

Desde que a última equação seja não negativa, então o mínimo ocorre quando 𝑲 é

zero ou quando,

𝑻𝑲 = 𝑻𝑇 −𝟏𝑩𝑇𝑷. (2.113)

Então,

𝑲 = 𝑻−𝟏 𝑻𝑇 −𝟏𝑩𝑇𝑷 = 𝑹−𝟏𝑩𝑇𝑷. (2.114)

Page 59: Estudo da Modelagem Robótica

58

A equação (2.114) fornece a matriz ótima 𝑲. Desta forma, a lei de controle ótima para

o problema de controle ótimo quadrático é dada em (2.115) (OGATA, 2010).

𝒖 𝒕 = −𝑲𝒙 𝑡 = −𝑹−𝟏𝑩𝑇𝑷𝒙 𝑡 , (2.115)

onde a matriz 𝑷 deve satisfaz a seguinte equação:

𝑨𝑇𝑷 + 𝑷𝑨 − 𝑷𝑩𝑹−𝟏𝑩𝑇𝑷 + 𝑸 = 𝟎. (2.116)

A equação (2.116) é chamada de Equação Matricial de Riccati.

O problema do controle ótimo quadrático LQR pode ser resolvido pelo software

MATLAB® utilizando a função:

𝑲, 𝑷, 𝑬 = 𝑙𝑞𝑟 𝑨, 𝑩, 𝑸, 𝑹 ,

onde 𝑲 é a matriz de ganho ótima, 𝑷 é matriz positiva definida solução da equação de

Riccati e 𝑬 são os pólos de malha fechada, isto é, os autovalores da matriz 𝑨 − 𝑩𝑲.

2.8. Conclusão Parcial

Neste capítulo foram apresentadas as ferramentas básicas, para a modelagem de

sistemas robóticos com maior foco nos manipuladores robóticos industriais. Por fim,

foi apresentada a teoria básica dos controladores LQR.

No próximo capítulo será dada uma ideia geral sobre o Robô DENSO® 6-DOF VP-6242 e

também apresentado a modelagem matemática, montagem e calibração do Link

Flexível 1-DOF da QUANSER®

Page 60: Estudo da Modelagem Robótica

59

3. DESENVOLVIMENTO E METODOLOGIA

Este capítulo apresenta uma ideia geral sobre o Robô DENSO® 6-DOF VP-6242 e

também a modelagem matemática, montagem, calibração e testes do Link Flexível 1-

DOF da empresa QUANSER®.

3.1. Manipulador DENSO® 6-DOF

3.1.1. Uma ideia geral sobre o Robô DENSO® 6-DOF VP-6242

O robô DENSO® VP-6242 possui 6-DOF (seis graus de liberdade) e seus movimentos

podem ser vistos pela Figura 3.1.

Figura 3.1 – Robô DENSO® com seus Seis Graus de Liberdade (QUANSER, 2013).

O robô está ligado a um módulo de controle, como já foi dito anteriormente,

possuindo seis controladores PID internos, isto é, um controlador PID para cada junta

em nível de software e toda uma interface de potência, possuindo seis amplificadores,

isto é, um amplificador para cada junta. Também tem uma comunicação com um

computador pessoal de onde saem todos os comandos para o robô. Neste computador

pessoal, estão os programas com os quais o robô pode operar. Vale ressaltar que o

controlador e os programas possuem arquitetura aberta, o que possibilita a sua

modificação e construção de outros modelos livremente (QUANSER, 2013). Esta é a

configuração básica para que o robô funcione.

Page 61: Estudo da Modelagem Robótica

60

A Figura 3.2 mostra o módulo de controle do robô, chamado de RC7M (QUANSER,

2013). Para obter mais informações consulte os manuais relacionados com o robô

(QUANSER, 2013; QUANSER, 2011a; QUANSER, 2011e).

Figura 3.2 – Módulo de Controle do Robô DENSO® 6-DOF (QUANSER, 2013).

A seguir, há uma foto real do manipulador na Figura 3.3, mostrando a sua estrutura

externa com mais detalhes.

Figura 3.3 – O Robô DENSO® VP-6242 6-DOF (QUANSER, 2013).

Todas as juntas do manipulador são acionadas por servomotores AC (corrente

alternada) e também possuem freios em cada junta para frenagem dos movimentos

caso necessário (QUANSER, 2013).

3.1.2. Parâmetros de Denavit-Hartenberg (Cinemática Direta)

Os parâmetros de Denavit-Hartenberg (D-H) do manipulador robótico DENSO® 6-DOF

são dados pela Tabela 3.1 (QUANSER, 2013).

Page 62: Estudo da Modelagem Robótica

61

𝒊 − 𝒆𝒔𝒊𝒎𝒂 𝑱𝒖𝒏𝒕𝒂 𝜃𝑖 𝑑𝑖 𝑎𝑖−1 𝛼𝑖−1 1 𝑞1 𝑙1𝑧 𝑙1𝑥 𝜋/2 2 𝑞2 + 𝜋/2 0 𝑙2 0

3 𝑞3 − 𝜋/2 0 −𝑙3𝑥 −𝜋/2 4 𝑞4 𝑙1𝑧 + 𝑙4 0 𝜋/2 5 𝑞5 0 0 −𝜋/2 6 𝑞6 𝑙5 0 0

Tabela 3.1 – Parâmetros de D-H para o Robô DENSO 6-DOF.

onde 𝑙1𝑧 = 0.125 𝑚, 𝑙1𝑥 = 0, 𝑙2 = 0.210 𝑚, 𝑙3𝑥 = 0.075 𝑚, 𝑙4 = 0.122 𝑚 e

𝑙5 = 0.070 𝑚

Utilizando os cálculos dos parâmetros de D-H podemos dizer em (3.1) (QUANSER,

2013).

𝑨𝒊 = 𝑨𝑹𝒛 ∙ 𝑨𝑻𝒛 ∙ 𝑨𝑻𝒙 ∙ 𝑨𝑹𝒙 = 𝑫𝑯(𝜃𝑖 , 𝑑𝑖 , 𝑎𝑖−1, 𝛼𝑖−1) (3.1)

onde 𝑨𝑹𝒛 é a matriz de rotação em torno do eixo z, 𝑨𝑻𝒛 é a matriz de translação em

relação ao eixo z, 𝑨𝑻𝒙 é a matriz de translação em relação ao eixo x e 𝑨𝑹𝒙 é a matriz de

rotação em torno do eixo x (SANTOS, 2004).

Portanto, 𝑻𝟔 = 𝑨𝟏 ∙ 𝑨𝟐 ∙ 𝑨𝟑 ∙ 𝑨𝟒 ∙ 𝑨𝟓 ∙ 𝑨𝟔 é a transformação até o end-effector com

relação à base do robô DENSO®, quando nenhuma ferramenta está anexada ao

manipulador.

No caso de se utilizar uma ferramenta a matriz de transformação se torna a equação

(3.2).

𝑻𝑬𝑬 = 𝑻𝟔 ∙ 𝑻𝑻𝒐𝒐𝒍 (3.2)

onde 𝑻𝑻𝒐𝒐𝒍 é a matriz de transformação relacionada à ferramenta (QUANSER, 2013).

3.1.3. Matriz Jacobiana

A matriz Jacobiana 𝑱 do manipulador é dada por (3.3) (QUANSER, 2013).

𝑱 =

𝒛𝟎 ∙ (𝒑 − 𝒑𝟎) 𝒛𝟏 ∙ 𝒑 − 𝒑𝟏 𝒛𝟐 ∙ 𝒑 − 𝒑𝟐 𝒛𝟑 ∙ 𝒑 − 𝒑𝟑 𝒛𝟒 ∙ 𝒑 − 𝒑𝟒 𝒛𝟓 ∙ 𝒑 − 𝒑𝟓 𝒛𝟔 ∙ (𝒑 − 𝒑𝟔)

𝒛𝟎 𝒛𝟏 𝒛𝟐 𝒛𝟑 𝒛𝟒 𝒛𝟓 𝒛𝟔

(3.3)

onde 𝒛𝟎 = 0 0 0 𝑇 , 𝒑𝟎 = 0 0 0 𝑇 , 𝒛𝒊 = 𝑻𝒊 1: 3,3 𝑇 , 𝒑𝒊 = 𝑻𝒊 1: 3,4 , sendo que

𝑻𝒊 = 𝑨𝟏 × ⋯ × 𝑨𝒊 e 𝒑 = 𝑻𝑬𝑬(1: 3,4) onde 𝑖 = 1, ⋯ ,6 (QUANSER, 2013).

Page 63: Estudo da Modelagem Robótica

62

3.2. Sistema Link Flexível (1-DOF)

Para melhor compreensão do estudo da robótica, inicia-se com as aplicações em um

manipulador de um grau de liberdade (1-DOF). Este tipo de manipulador é o mais

simples e possibilita melhor visualização prática.

A modelagem matemática é muito importante, pois, permite obter o modelo em

espaço de estados, que é necessário para o projeto do controlador.

3.2.1. Modelagem Matemática do Sistema QUANSER® de um Link (1-DOF)

Para fazer a modelagem matemática do sistema, considera-se o modelo massa-mola

conforme (ARAÚJO, SOUZA, FENILI, 2011), mostrado na Figura 3.4.

Figura 3.4 – Modelo Massa-Mola (ARAÚJO, SOUZA, FENILI, 2011).

Admite-se que a dinâmica do link flexível (1-DOF) pode ser aproximada pelo sistema

massa-mola. Os efeitos da flexibilidade do link estão associados aos efeitos de

flexibilidade da mola (ARAÚJO, SOUZA, FELINI, 2011).

O esquema do link flexível pode ser visto pela Figura 3.5 (QUANSER, 2011c).

Figura 3.5 – Esquema do Link Flexível mostrando seus ângulos (QUANSER, 2011c).

Page 64: Estudo da Modelagem Robótica

63

Define-se em (3.4) a deflexão do link 𝛼, onde 𝑙 é o comprimento do link e 𝐷 é a

distância que o link defletiu em relação ao repouso.

𝛼 =𝐷

𝑙 (3.4)

A equação para a rotação da mola é dada por (3.5), onde 𝐽𝑎𝑟𝑚 é o momento de inércia

do link e 𝐾𝑠𝑡𝑖𝑓𝑓 é o coeficiente de rigidez do link.

𝐽𝑎𝑟𝑚 𝛼 = −𝐾𝑠𝑡𝑖𝑓𝑓 𝛼 (3.5)

Para obter 𝐾𝑠𝑡𝑖𝑓𝑓 , deve-se medir a freqüência natural de oscilação livre do sistema

(QUANSER, 2011c).

A partir disto, pode-se escrever também:

𝛼 = −𝜔𝑐2𝛼 (3.6)

Combinando as equações (3.5) e (3.6) tem-se a equação (3.7).

𝐾𝑠𝑡𝑖𝑓𝑓 = 𝜔𝑐2𝐽𝑎𝑟𝑚 (3.7)

O momento de inércia do link, considerando o modelo adotado, é dado por (3.8), onde

𝑚 é a massa do link e 𝑙 é o comprimento do link (QUANSER, 2011c).

𝐽𝑎𝑟𝑚 =𝑚𝑙2

3 (3.8)

Agora, escrevendo as equações do modelo dinâmico e considerando a mecânica

lagrangeana (QUANSER, 2011c; ARAÚJO, SOUZA, FENILI, 2011), o cálculo da energia

potencial no sistema é dado por (3.9).

𝑉 =𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2 (3.9)

A energia potencial do sistema é apenas da mola do modelo da Figura 3.4.

O cálculo da energia cinética do sistema é dado por (3.10).

𝑇 =𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2 (3.10)

A energia cinética tem uma parcela da haste e outra devido à base. Define-se que 𝜃 é o

ângulo em que o link se movimenta.

Desta forma, pode-se escrever a função lagrangeana no ANEXO III do sistema como em

(3.11).

ℒ =𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2 (3.11)

Page 65: Estudo da Modelagem Robótica

64

Sabendo que temos duas coordenadas generalizadas no sistema 𝜃 e 𝛼, então há duas

equações para o sistema dinâmico (3.12) e (3.13).

𝑑

𝑑𝑡 𝜕ℒ

𝜕𝜃 −

𝜕ℒ

𝜕𝜃= 𝑇𝑜𝑢𝑡 − 𝐵𝑒𝑞𝜃 (3.12)

𝑑

𝑑𝑡 𝜕ℒ

𝜕𝛼 −

𝜕ℒ

𝜕𝛼= 0 (3.13)

Resolvendo a equação (3.12) temos em (3.14).

𝑑

𝑑𝑡

𝜕

𝜕𝜃 (𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2) −

𝜕

𝜕𝜃(𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2) = 𝑇𝑜𝑢𝑡 −

𝐵𝑒𝑞𝜃

(3.14)

Expandindo, fica então como em (3.15).

𝑑

𝑑𝑡

𝜕

𝜕𝜃 (𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 2+2𝜃 𝛼 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2) − 0 = 𝑇𝑜𝑢𝑡 − 𝐵𝑒𝑞𝜃 (3.15)

𝑑

𝑑𝑡 𝐽𝑒𝑞𝜃 + 𝐽𝑎𝑟𝑚 (𝜃 + 𝛼 ) = 𝑇𝑜𝑢𝑡 − 𝐵𝑒𝑞𝜃 (3.16)

𝐽𝑒𝑞𝜃 + 𝐽𝑎𝑟𝑚 (𝜃 + 𝛼 ) = 𝑇𝑜𝑢𝑡 − 𝐵𝑒𝑞𝜃 (3.17)

Portanto, a equação dinâmica em relação à coordenada generalizada 𝜃 é dada por

(3.17).

Agora resolvendo para a equação (3.13) chega-se em (3.18).

𝑑

𝑑𝑡

𝜕

𝜕𝛼 (𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2) −

𝜕

𝜕𝛼(𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2) = 0

(3.18)

Resolvendo (3.18) temos que em (3.19).

𝑑

𝑑𝑡(

𝜕

𝜕𝛼 𝐽𝑒𝑞 𝜃 2

2+

𝐽𝑎𝑟 𝑚 𝜃 +𝛼 2

2−

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼2

2 ) + 𝐾𝑠𝑡𝑖𝑓𝑓 𝛼 = 0 (3.19)

Portanto, chega-se a equação dinâmica em relação à coordenada generalizada 𝛼

(3.20).

𝐽𝑎𝑟𝑚 𝜃 + 𝛼 + 𝐾𝑠𝑡𝑖𝑓𝑓 𝛼 = 0 (3.20)

O torque de saída do sistema é dado por (3.21) (QUANSER, 2011c; ARAÚJO, SOUZA,

FENILI, 2011).

Page 66: Estudo da Modelagem Robótica

65

𝑇𝑜𝑢𝑡 =𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔(𝑉𝑚 −𝑘𝑔𝑘𝑚 𝜃)

𝑅𝑚 (3.21)

Substituindo (3.21) na equação (3.17) tem-se (3.22) e (3.23).

𝜃 = −𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔

2𝑘𝑚−𝐵𝑒𝑞𝑅𝑚

𝐽𝑒𝑞 𝑅𝑚 𝜃 +

𝐾𝑠𝑡𝑖𝑓𝑓 𝛼

𝐽𝑒𝑞+

𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔𝑉𝑚

𝐽𝑒𝑞 𝑅𝑚 (3.22)

𝛼 =−𝐾𝑠𝑡𝑖𝑓𝑓 (𝐽𝑎𝑟𝑚 +𝐽𝑒𝑞 )𝛼

𝐽𝑒𝑞 𝑅𝑚+

−𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔2𝑘𝑚 −𝐵𝑒𝑞𝑅𝑚

𝐽𝑒𝑞 𝑅𝑚 𝜃 −

𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔𝑉𝑚

𝐽𝑒𝑞 𝑅𝑚 (3.23)

Agora, pode se construir o modelo dinâmico na forma de Espaço de Estados, sem a

necessidade de utilizar nenhum método de linearização, pois as equações (3.22) e

(3.23) são lineares nas variáveis de estado 𝜃 e 𝛼, portanto temos que:

𝑥1 = 𝜃 , 𝑥1 = 𝜃 = 𝑥3 , 𝑥3 = 𝜃 , 𝑥2 = 𝛼 , 𝑥2 = 𝛼 = 𝑥4 , 𝑥4 = 𝛼

Colocando o sistema na forma de espaço de estados apresentada em (2.50), o

resultado final está mostrado na equação (3.24) conforme mostrado em (ARAÚJO,

SOUZA, FENILI, 2011).

𝜃

𝛼 𝜃

𝛼

=

0 0 1 0 0 0 0 1

0 𝐾𝑠𝑡𝑖𝑓𝑓

𝐽𝑒𝑞

−𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔2𝑘𝑚 +𝐵𝑒𝑞𝑅𝑚

𝐽𝑒𝑞 𝑅𝑚 0

0 −𝐾𝑠𝑡𝑖𝑓𝑓 (𝐽𝑎𝑟𝑚 +𝐽𝑒𝑞 )

𝐽𝑒𝑞 𝑅𝑚

𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔2𝑘𝑚 +𝐵𝑒𝑞𝑅𝑚

𝐽𝑒𝑞 𝑅𝑚 0

𝜃𝛼 𝜃

𝛼

+

00

𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔

𝐽𝑒𝑞 𝑅𝑚

−𝜂𝑚 𝜂𝑔𝑘𝑡𝑘𝑔

𝐽𝑒𝑞 𝑅𝑚

𝑉𝑚 ,

(3.24)

onde as constantes do modelo são dadas na Tabela 3.2 (QUANSER, 2011d; QUANSER, 2011c) e no APÊNDICE V. Sendo 𝜂𝑚 e 𝜂𝑔 a eficiência do motor e das engrenagens,

respectivamente; 𝑘𝑡 é a constante de torque do motor; 𝑘𝑔 é a razão de transmissão da

caixa de engrenagens somada com a razão transmissão das engrenagens externas; 𝑉𝑚 a tensão de alimentação do motor; 𝐾𝑚 a constante de força contra-eletromotriz e 𝑅𝑚 a resistência de armadura do motor (QUANSER, 2011d).

Page 67: Estudo da Modelagem Robótica

66

Constante Valor Unidade

𝐽𝑒𝑞 2.08 × 10−3 𝑘𝑔 ∙ 𝑚2

𝜂𝑚 0.69 − 𝜂𝑔 0.90 −

𝑘𝑡 7.68 × 10−3 𝑁 ∙ 𝑚/𝐴 𝑘𝑚 7.68 × 10−3 𝑉/(𝑟𝑎𝑑/𝑠) 𝑘𝑔 70 −

𝐵𝑒𝑞 4 × 10−3 𝑁 ∙ 𝑚/(𝑟𝑎𝑑/𝑠)

𝑅𝑚 2.6 Ω 𝑙 0.419 𝑚 𝑚 0.065 𝑘𝑔

Tabela 3.2 – Parâmetros Físicos do Modelo Link Flexível 1-DOF (QUANSER, 2011c;

QUANSER, 2011d).

3.2.2. Montagem do Sistema Link Flexível 1-DOF

Os principais componentes para a montagem do sistema Link Flexível 1-DOF são dados

pela Tabela 3.3 (QUANSER, 2011b).

Componente Denominação

1 Planta SRV02 (contém o motor DC)

2 Modulo FLEXGAGE

3 Link FLEXGAGE

4 Sensor Strain Gage

5 Circuito do Strain Gage

6 Engrenagens

7 Conector do Sensor

8 Potenciômetro de OFFSET

9 Potenciômetro de GANHO

Tabela 3.3 – Componentes para a Montagem do Link Flexível.

A Figura 3.6 mostra a montagem do link sobre o módulo SRV02 que contém o motor

DC e as engrenagens na configuração “High” conforme (QUANSER, 2011b). Na Figura

3.6 também há indicações sobre alguns componentes dados pela Tabela 3.3.

Figura 3.6 – Montagem SRV02 – Link Flexível (QUANSER, 2011b).

Page 68: Estudo da Modelagem Robótica

67

A Figura 3.7 mostra o circuito de condicionamento do Strain Gage (QUANSER, 2011b) e

também os dois Strain Gages na base do link. A numeração de referência está contida

na Tabela 3.3.

Figura 3.7 – Circuito de Condicionamento de Sinais do Strain Gage (QUANSER, 2011b).

Para a montagem do sistema, são necessários os seguintes componentes da empresa

QUANSER ® conforme (QUANSER, 2011b).

1. Amplificador de Potência (VoltPaq);

2. Placa de aquisição de dados: Q8-USB;

3. Planta do Link Flexível;

4. Planta Servo-Rotacional: SRV02;

5. Os cabeamentos utilizados são: 2xRCA to 2xRCA, 4-pin-DIN to 6-pin-DIN, 5-pin-

stereo-DIN to 5-pin-stereo-DIN,6-pin-mini-DIN to 6-pin-mini-DIN e 5-pin-DIN to

4xRCA, conforme mostrado em (QUANSER, 2011b);

O esquema da montagem pode ser visto pela Figura 3.8 (QUANSER, 2011b).

Figura 3.8 – Esquema com as ligações para o Experimento do Link Flexível (QUANSER,

2011b).

Page 69: Estudo da Modelagem Robótica

68

As conexões que devem ser feitas conforme (QUANSER, 2011b) são:

1- Conecte o cabo 2xRCA to 2xRCA do Analog Output#0 até o Amplifier

Comand;

2- Conecte o cabo 4-pin-DIN to 6-pin-DIN do To Load até Motor no módulo

SRV02;

3- Conecte o cabo 5-pin-stereo-DIN to 5-pin-stereo-DIN do Encoder do módulo

SRV02 até Input#0 na placa de aquisição de dados;

4- Conecte o To ADC até Analog Input #0 – 1 com cabo 5-pin-DIN to 4xRCA;

5- Conecte o S1/S2 do SRV02 ao S1/S2 do amplificador usando 6-pin-mini-DIN

to 6-pin-mini-DIN;

6- Conecte o conector do Strain Gauge até S3 usando cabo 6-pin-mini-DIN to

6-pin-mini-DIN.

Para maiores detalhes de conexão consultar o manual do flexgage (QUANSER,

2011b

3.2.3. Calibração do Sistema QUANSER® de 1-DOF

Antes de começar a aferição de dados, é necessário calibrar o sensor Strain Gage de

forma que faça a leitura correta da deflexão do link (QUANSER, 2011b).

Para realizar esta calibração, é necessário seguir os seguintes passos conforme

(QUANSER, 2011b):

Utilizando o pente da Figura 3.9, monte-o de forma que o link fique no meio do

pente, entre os dentes/slots;

Utilizando o programa da Figura 3.10 pode-se ler o sinal de tensão sobre o

Strain Gage que deve ser de 0 V, caso não seja ajuste o potenciômetro de

OFFSET mostrado na Figura 3.11 até conseguir 0 V de tensão na leitura do

programa;

O sinal de tensão sobre o Strain Gage deve ser de 1 V para cada 1 polegada de

deflexão do link no sentido anti-horário. Cada slot do pente mostrado na Figura

3.11 tem ¼ de polegada, portanto, para 4 slots tem-se 1 polegada. Caso o

sistema não esteja aferindo 1 V para a deflexão de 1 polegada, deve-se ajustar

o potenciômetro GAIN (GANHO) mostrado na Figura 3.11 até que se consiga o

valor esperado;

Retorne o link até o meio do pente, ele deve ler 0 V como calibrado

anteriormente, caso não esteja, ajuste novamente o potenciômetro OFFSET;

Page 70: Estudo da Modelagem Robótica

69

Figura 3.9 – Calibração e o uso do Pente (QUANSER, 2011b).

Figura 3.10 – Programa para Leitura da Tensão aferida pelo Strain Gage (QUANSER,

2011c).

Figura 3.11 – Posição dos Potenciômetros de OFFSET e GANHO no Circuito do Strain

Gage (QUANSER, 2011b).

Page 71: Estudo da Modelagem Robótica

70

3.2.4. Obtenção da Frequência Natural do Sistema QUANSER® 1-DOF

Para obter a Equação de Estados do sistema com seus respectivos valores, é necessário

aferir a frequência natural do link (QUANSER, 2011c). Por isto se obtém para o sistema

um modelo estimado, onde a Equação de Estado é estimada por depender destas

estimativas.

Seguindo os passos descritos abaixo é possível obter a frequência natural do sistema

conforme (QUANSER, 2011c):

Simule o programa da Figura 3.12;

Imediatamente provoque uma leve perturbação no link de forma que ele oscile

naturalmente;

Após 5 s de simulação os dados obtidos são como os mostrados na Figura 3.13

que é uma oscilação livre de um sistema de segunda ordem (QUANSER, 2011c);

Com a Figura 3.13, pode-se obter a freqüência natural 𝜔𝑐 do sistema e dessa

forma calcular também o valor de 𝐾𝑠𝑡𝑖𝑓𝑓 descrito no modelo dinâmico;

Estes valores estimados farão parte do modelo em Espaço de Estado, que será

estimado também e pode conter incertezas;

Figura 3.12 – Programa para Leitura da Frequência do Link (QUANSER, 2011c).

Figura 3.13 – Forma de Onda na Aferição da Frequência Natural do Link (QUANSER,

2011c).

Page 72: Estudo da Modelagem Robótica

71

3.2.5. Projeto do Controlador LQR aplicado ao Sistema de 1-DOF

O objetivo de projetar um controlador para o link flexível é minimizar a deflexão 𝛼 e

para que se tenha uma movimentação mais suave de forma que execute o ângulo 𝜃 da

forma desejada.

a) Calibração do Strain Gage do Link Flexível

O primeiro passo foi fazer a calibração do Strain Gage, para que se possam realizar

medidas corretas do sistema. Seguindo as regras que foram apresentadas

anteriormente, obteve-se a tensão em 0 V para a configuração correta do pente após

ajuste do potenciômetro de OFFSET. O sinal obtido está mostrado na Figura 3.14.

Figura 3.14 – Tensão de 0 V medida na calibração do Strain Gage.

Flexionando o link em 1 polegada (4 slots do pente de calibração), obteve-se, após

ajuste do potenciômetro de GANHO, o valor de tensão aproximado de 1 V como

mostra a Figura 3.15.

Page 73: Estudo da Modelagem Robótica

72

Figura 3.15 – Tensão aproximada 1 V aferida pelo Strain Gage quando Flexionado em 1

Polegada.

b) Estimação da Frequência Natural do Link e o Modelo em Espaço de Estados

Estimado

Após a calibração do Strain Gage, foi necessário fazer a estimação da frequência

natural do link flexível. A Figura 3.16 mostra a forma de onda obtida para a oscilação

livre do sistema.

Page 74: Estudo da Modelagem Robótica

73

Figura 3.16 – Forma de Onda Oscilante Medida para Estimação da Frequência Natural

do Link.

Pela oscilação mostrada na Figura 3.16, obteve-se como período o valor aproximado

de 𝑃𝑒𝑟 = 4.4 − 4.1 ≈ 0.3𝑠. Portanto, a frequência aproximada de oscilação livre

natural do link flexível é dada por (3.25).

𝑓𝑐 =1

𝑃𝑒𝑟≅ 3.33𝐻𝑧 (3.25)

Desta forma,

𝜔𝑐 = 2𝜋𝑓𝑐 ≅ 3.33𝜋 ≅ 21 𝑟𝑎𝑑/𝑠 (3.26)

A partir disto, pode-se calcular o valor de 𝐾𝑠𝑡𝑖𝑓𝑓 , sabendo que 𝐽𝑎𝑟𝑚 é dado por (3.27).

𝐽𝑎𝑟𝑚 =𝑚𝑙2

3≅ 3.804 × 10−3𝑘𝑔 ∙ 𝑚2 (3.27)

Assim,

𝐾𝑠𝑡𝑖𝑓𝑓 = 𝜔𝑐2𝐽𝑎𝑟𝑚 ≅ 1.677 (3.28)

A partir de agora foram encontrados os valores nas matrizes do espaço de estado,

resultando no espaço de estados estimado do sistema em (3.29).

Page 75: Estudo da Modelagem Robótica

74

𝜃

𝛼 𝜃

𝛼

=

0 0 1 0 0 0 0 1 0 806.25 − 31.2643 0

0 − 1247 35.1105 0

𝜃𝛼 𝜃

𝛼

+

00

61.7325−61.7325

𝑉𝑚 ,

(3.29)

onde

𝑨 =

0 0 1 0 0 0 0 1 0 806.25 − 31.2643 0

0 − 1247 35.1105 0

𝑩 =

00

61.7325−61.7325

, 𝑪 = 1 0 0 00 1 0 0

e 𝑫 = 00 ,

onde a escolha da matriz 𝑪 possibilita ter como saídas as variáveis 𝛼 e 𝜃.

c) Validação do Modelo em Espaço de Estados

Para validar o modelo em espaço de estados encontrado (3.29) no APÊNDICE IV pode-

se utilizar o programa da Figura 3.17.

Figura 3.17 – Programa que Permite a Validação do Modelo Estimado (QUANSER,

2011c).

Pela validação do modelo, observou-se certa discrepância entre o modelo real do

sistema e o modelo que foi estimado; isto faz com que se tenham incertezas

Page 76: Estudo da Modelagem Robótica

75

embutidas no modelo estimado. As Figuras (3.18) e (3.19) mostram os valores de 𝜃 e

𝛼 para os dois sistemas, o real (em verde) e o modelado (em azul) e podem-se verificar

as diferenças entre os valores. Estas diferenças podem ser entendidas como erros de

leitura dos sensores, além das estimações feitas para o cálculo do modelo em espaço

de estados.

Figura 3.18 – Validação do Modelo para Valores de 𝜃.

Figura 3.19 – Validação do Modelo para Valores de 𝛼.

Page 77: Estudo da Modelagem Robótica

76

d) Testes com Diversos Valores para a Matriz Peso 𝑸 do Controlador LQR

Aplicando-se o teste de observabilidade e controlabilidade (OGATA, 2010; DORF,

2010), observa-se que o sistema é controlável e observável, condições necessárias

para a aplicação da técnica LQR para o controle do link.

Os polos de malha aberta do sistema, isto é, os autovalores da matriz A são: 0,

−10.4503 ± 30.3510𝑗 e −10.3638.

Antes de projetar o controlador LQR, foram feitos testes para o melhor entendimento

do sistema variando em valores específicos a diagonal da matriz 𝑸 de peso do

controlador LQR.

Tomando constante e como um escalar a matriz 𝑹 = [1], portanto, foram utilizados

somente testes com as matrizes 𝑸.

Também foi utilizado um ângulo 𝜃 = 30° para a movimentação do link nos testes.

Para fazer simulações com estes valores de 𝑸, utilizou-se no MATLAB® o programa que

calcula a matriz 𝑲, a matriz 𝑷 que é solução da equação de Riccati e também os pólos

de malha fechada do sistema representada por 𝑬. O setup do programa principal do

QUANSER® Flexgage no APÊNDICE I possui o programa que faz estes cálculos:

𝑲, 𝑷, 𝑬 = 𝑙𝑞𝑟(𝑨, 𝑩, 𝑸, 𝑹)

Para começar os testes, escolheu-se uma matriz mais fundamental como 𝑸 =

𝑑𝑖𝑎𝑔[1 1 1 1], e seguiu-se modificando os valores de cada elemento da diagonal da

matriz para verificar a influência na resposta do sistema. A Tabela 3.4 abaixo mostra os

valores obtidos.

𝑸 𝑹 𝑲 𝑬

𝑸 = 𝑑𝑖𝑎𝑔[1 1 1 1] [1] [1.0000 -2.1452 0.2509 -0.0460]

-11.7984 +28.1163j -11.7984 -28.1163j -0.2682 -14.0155

𝑸 = 𝑑𝑖𝑎𝑔[100 1 1 1] [1] [10.0000 -1.6995 1.0265 0.4600]

-11.8276 +28.0931j -11.8276 -28.0931j -2.7667 -13.5964

𝑸 = 𝑑𝑖𝑎𝑔[1 100 1 1] [1] [1.0000 -2.6195 0.2563 -0.0524]

-11.8628 +28.1347j -11.8628 -28.1347j -0.2681 -13.9808

𝑸 = 𝑑𝑖𝑎𝑔[1 1 100 1] [1] [1.0000 -1.6045 7.0813 0.5061]

-77.2941 -0.0941 -5.1387 +21.3088j -5.1387 -21.3088j

𝑸 = 𝑑𝑖𝑎𝑔[1 1 1 100] [1] [1.0000 -91.7031 1.0713 -6.2140]

-70.6073 -0.2682 -11.2105 + 7.6728j -11.2105 – 7.6728j

Tabela 3.4 – Valores Obtidos nos Testes para diversas Matrizes 𝑸.

Page 78: Estudo da Modelagem Robótica

77

Para 𝑸 = 𝑑𝑖𝑎𝑔[1 1 1 1], a matriz 𝑷 solução da equação de Riccati é dada por (3.30).

𝑷 =

3.8251 − 0.0460 0.3617 0.2356 −0.0460 41.0277 − 0.7695 − 0.4989 0.3617 − 0.7695 0.1081 0.0765

0.2356 − 0.4989 0.0765 0.0823

(3.30)

Para 𝑸 = 𝑑𝑖𝑎𝑔[100 1 1 1], a matriz 𝑷 solução da equação de Riccati é dada por (3.31)

𝑷 =

46.0454 4.6002 3.6065 2.3454 4.6002 43.6922 − 0.6085 − 0.3942

3.6065 − 0.6085 0.3945 0.2650 2.3454 − 0.3942 0.2650 0.2070

(3.31)

Para 𝑸 = 𝑑𝑖𝑎𝑔[1 100 1 1], a matriz 𝑷 solução da equação de Riccati é dada por (3.32)

𝑷 =

3.8263 − 0.0524 0.3627 0.2366 −0.0524 44.8836 − 0.8290 − 0.4986

0.3627 − 0.8290 0.1151 0.0828 0.2366 − 0.4986 0.0828 0.0894

(3.32)

Para 𝑸 = 𝑑𝑖𝑎𝑔[1 1 100 1], a matriz 𝑷 solução da equação de Riccati é dada por (3.33)

𝑷 =

10.6601 0.5061 0.3604 0.2343 0.5061 657.2094 − 0.5743 − 0.37190.3604 − 0.5743 2.5665 1.67350.2343 − 0.3719 1.6735 1.6097

(3.33)

Para 𝑸 = 𝑑𝑖𝑎𝑔[1 1 1 100], a matriz 𝑷 solução da equação de Riccati é dada por (3.34)

𝑷 =

3.9 −6.2 0.6 0.4−6.2 2040.8 −42.3 −30.70.6 −42.3 1.3 1.10.4 −30.7 1.1 1.9

(3.34)

A análise das simulações e implementações dos testes (não mostradas aqui) e os

valores dos polos de malha fechada indicam como variam os valores de 𝑸 =

𝑑𝑖𝑎𝑔[𝑞1 𝑞2 𝑞3 𝑞4] com a resposta de 𝜃 e 𝛼. Também se pode fazer analogias entre a

matriz 𝑸 e a matriz de realimentação de estados 𝑲 = [𝑘1 𝑘2 𝑘3 𝑘4].

A conclusão que se pode obter a partir disto é que:

Page 79: Estudo da Modelagem Robótica

78

Quanto maior 𝑞1 maior o valor de 𝑘1, que representa um ganho proporcional.

Isto faz com que o sistema tenha uma resposta temporal mais rápida, ou seja,

diminui o tempo de subida e estabilização;

Observa-se que 𝑞2 não altera muito a resposta do sistema, portanto, não tem

muito efeito;

Para o aumento de 𝑞3 observou-se que houve um aumento do ganho 𝑘3 que

representa no sistema um ganho derivativo. Isto faz 𝑘4 mais positivo e tem o

efeito de minimizar o overshoot (máximo sobressinal do sistema), porém causa

uma diminuição na rapidez da resposta do sistema;

Para um aumento de 𝑞4, há um aumento do ganho 𝑘2, e efeito de acréscimo no

ganho 𝑘4. O efeito observado na prática é principalmente a minimização da

deflexão do link.

A partir destas conclusões e através de diversas tentativas projetou-se o controlador

LQR para o sistema Link Flexível de 1-DOF.

3.3. Conclusão Parcial

Foram apresentadas de forma resumida algumas ideias básicas sobre o Robô DENSO®

6-DOF VP-6242.

Em seguida, foram descritas a modelagem matemática, montagem física, calibração e

testes com o Link Flexível QUANSER®.

A partir dos testes experimentais, concluiu-se que tomando uma matriz de peso para o

controlador LQR 𝑸 = 𝑑𝑖𝑎𝑔 [𝑞1, 𝑞2, 𝑞3 , 𝑞4], os elementos 𝑞1 e 𝑞4 são os que mais

influenciam na resposta desejada do sistema controlado, considerando a outra matriz

de peso 𝑅 = 1.

A seguir, no próximo capítulo os resultados obtidos serão descritos para a simulação e

para a implementação, de um controlador LQR aplicado ao Link Flexível de 1-DOF.

Page 80: Estudo da Modelagem Robótica

79

4. RESULTADOS

Neste capítulo serão apresentados os resultados do projeto do controlador LQR e da

aplicação deste controlador no Link Flexível da empresa QUANSER®. Os resultados

estão separados em simulação e parte experimental.

Foram considerados índices de desempenho para o projeto, além dos resultados

previamente analisados até agora. Para a simulação e implementação foram

especificados os índices de desempenho mostrados abaixo, além de utilizar para 𝜃 um

ângulo de 30°.

Tempo de estabilização da resposta: 𝑡𝑠 ≤ 1𝑠;

Máximo sobressinal ou porcentagem de overshoot da resposta: 𝑃. 𝑂. ≤ 7.5%;

Máximo valor de deflexão do link: |𝛼| ≤ 12°;

Máxima tensão de armadura no motor DC: |𝑉𝑚 | ≤ 10𝑉;

Portanto, para encontrar a matriz de ganho de realimentação de estados para este

caso, devem-se observar todos estes critérios de desempenho.

a matriz de ganho de realimentação de estados 𝑲 encontrada para o controlador LQR

é dada por (4.1).

𝑲 = [17.3205 − 24.3773 1.9579 − 0.6380] (4.1)

Utilizando como matrizes de peso no controle LQR os valores em (4.2) e (4.3):

𝑸 = 𝑑𝑖𝑎𝑔 300 1 9 13 , (4.2)

𝑅 = 1, (4.3)

chegando-se a uma matriz 𝑷 solução da equação de Riccati associada ao sistema dada

por (4.4):

𝑷 =

119.9101 − 11.0510 7.1378 4.9535

−11.0510 472.6662 − 9.3706 − 6.2965 7.1378 − 9.3706 1.0564 0.8095

4.9535 − 6.2965 0.8095 0.8899

(4.4)

Os polos de malha fechada do sistema são: -32.5772 , -3.0375, -12.1712 +21.5317j, -

12.1712 -21.5317j.

4.1. Simulações

A Figura 4.1 mostra o programa para simulação do controlador para o sistema link

flexível (QUANSER, 2011c).

Page 81: Estudo da Modelagem Robótica

80

Figura 4.1 – Programa para Simulação do Controlador no Sistema (QUANSER, 2011c).

O resultado das simulações pode ser visto pela Figura 4.2 para 𝑉𝑚 , Figura 4.3 para 𝜃 e

Figura 4.4 para 𝛼. Deve-se salientar que o resultado obtido com o controlador 𝑲

projetado não terá o mesmo efeito para simulação em comparação com a

implementação, já que o mesmo foi projetado visando o controle na implementação e

como o modelo estimado, que é usado pela simulação, contém incertezas os dois não

respondem da mesma forma.

Pode-se observar que os gráficos das Figuras 4.2, 4.3 e 4.4 começam em 5 segundos

pelo fato da simulação durar 10 segundos, mas o programa mostra apenas amostra

dos 5 segundos finais.

No gráfico da Figura 4.2 ocorre uma saturação pelo fato do controlador exigir uma

tensão do motor DC maior do que o hardware consegue fornecer, e que não responde

ao critério de desempenho do projeto. Portanto, a saturação age como uma proteção

ao motor DC.

Figura 4.2 – Sinal Simulado para a Tensão no Motor 𝑉𝑚 .

Page 82: Estudo da Modelagem Robótica

81

A Figura 4.3, mostra que o sinal medido (verde) não consegue chegar ao valor de

regime permanente, o que mostra que o controlador não consegue cumprir com os

índices de desempenho que foram especificados.

Figura 4.3 – Sinal Simulado para Valores de 𝜃. O Sinal azul é a Referência (±30 𝑉) e o

Sinal verde é o Medido.

Figura 4.4 – Sinal Simulado para Valores de 𝛼.

Page 83: Estudo da Modelagem Robótica

82

A Tabela 4.1 resume, de forma sucinta, os resultados obtidos por meio da simulação

do sistema.

Descrição Símbolo Valor Unidade

Matrizes de Peso LQR

𝑸 𝑑𝑖𝑎𝑔[300 1 9 13]

𝑅 1

Ganho LQR 𝑲 [17.3205

− 24.3773 1.9579

− 0.6380]

Tempo de Estabilização

𝑡𝑠 ≈ 1.5 𝑠

Porcentagem de Overshoot

𝑃. 𝑂. 0 %

Deflexão máxima |𝛼| ≈ 3.5 ° Tensão de

armadura máxima |𝑉𝑚 | ≈ 15 𝑉

Tabela 4.1 – Índices de Desempenho Obtidos para a Simulação do Sistema.

4.2. Implementação

O programa que permite a implementação do sistema é representado pela Figura 4.5.

Figura 4.5 – Programa para Implementação do Controlador no Sistema (QUANSER,

2011c).

Para a implementação, o link responde de uma melhor forma em comparação com a

simulação, pois, foi para a implementação o projeto do controlador 𝑲.

Se tivesse projetado o controlador para melhorar a resposta na simulação,

provavelmente o mesmo não teria uma resposta boa na prática/implementação,

devido às incertezas que fazem com que se tenha respostas diferentes.

Page 84: Estudo da Modelagem Robótica

83

A Figura 4.6, mostra a tensão que o motor DC aplica ao sistema. A Figura 4.7, compara

o sinal de referência de ±30 𝑉 em azul com o sinal medido em verde. A Figura 4.8,

mostra a deflexão do link.

Novamente, observa-se que o gráfico começa em um tempo diferente de zero, no

caso, 11 segundos. Isso ocorre devido ao fato da medição ter sido feita em tempo real

e o programa mostrar apenas 5 segundos de uma amostra do sinal, a partir do

momento em que a implementação é finalizada.

Figura 4.6 – Sinal do Motor 𝑉𝑚 na Implementação do Sistema.

Page 85: Estudo da Modelagem Robótica

84

Figura 4.7 – Sinal de 𝜃 na Implementação do Sistema. O Sinal azul é a Referência

(± 30𝑉) e o verde é a Resposta do Sistema.

Figura 4.8 – Sinal de 𝛼 na Implementação do Sistema.

A Tabela 4.2 resume, de forma sucinta, os resultados obtidos com a implementação do

controle.

Page 86: Estudo da Modelagem Robótica

85

Descrição Símbolo Valor Unidade

Matrizes de Peso LQR

𝑸 𝑑𝑖𝑎𝑔[300 1 9 13]

𝑅 1

Ganho LQR 𝑲 [17.3205

− 24.3773 1.9579

− 0.6380]

Tempo de Estabilização

𝑡𝑠 0.8233 𝑠

Porcentagem de Overshoot

𝑃. 𝑂. 6 %

Deflexão máxima |𝛼| ≈ 12 ° Tensão de

armadura máxima |𝑉𝑚 | ≈ 8 𝑉

Tabela 4.2 – Índices de Desempenho Obtidos para a Implementação do Sistema.

4.3. Conclusão Parcial

Foram apresentados resultados de simulação e experimental, aplicando o controle LQR

ao sistema Link Flexível de 1-DOF. Devido a incertezas na planta modelada, decidiu-se,

por projetar uma lei de controle que obedecesse ao sistema real, por isso, os índices

de desempenho obtidos para a implementação estão dentro dos limites especificados.

Os índices de desempenho obtidos para a simulação estão fora dos limites

especificados, pelo fato, de que as incertezas no modelo matemático fazem com que a

planta real e a planta modelada sejam diferentes e o controlador projetado não

compensa estas diferenças.

Page 87: Estudo da Modelagem Robótica

86

Page 88: Estudo da Modelagem Robótica

87

5. CONCLUSÃO

A motivação pela qual se faz o estudo de robótica são as inúmeras aplicações nos dias

atuais, proporcionando um alto crescimento tecnológico e científico, tendo inclusive

aplicações na área médica dentre outras.

O texto apresentado neste trabalho tratou apenas de uma pequena introdução

resumida do que vem a ser o estudo da robótica que se estende cada dia mais com o

desenvolvimento que vem sendo feito nesta área.

O estudo apresentado foi direcionado para futuras aplicações com o Robô DENSO® VP-

6242 de seis graus de liberdade, onde são apresentadas, de forma rápida, a cinemática

direta e também a análise da matriz jacobiana.

Como segunda etapa, foi desenvolvido um controlador do tipo LQR aplicado a um link

flexível de um grau de liberdade da empresa QUANSER®. O motivo pelo qual se

escolheu este experimento é que se pode considerar como se fosse um manipulador

de apenas um link, só que este link tem certa flexibilidade quando em movimento.

O principal objetivo do projeto do controlador foi proporcionar uma menor deflexão

do link, que ocorre devido à flexibilidade e também uma maior precisão nos

movimentos executados.

O modelo do link flexível proposto depende de parâmetros que são estimados de

forma empírica e por isso contém erros, de forma que o sistema real difere do modelo

obtido. Com isso, o controlador LQR proposto para o sistema pode não funcionar de

forma adequada, sendo, assim, preciso recorrer a outras técnicas de controle, tais

como o controle robusto, ou mesmo tentar diminuir as incertezas no modelo da

planta.

Devido às incertezas do experimento, resolveu-se então projetar o controle

diretamente na planta real e não no modelo, para que a implementação correta fosse

possível. Isto faz com que os resultados simulados, que seguem o modelo com

incertezas, não estejam respondendo de forma correta ao controlador 𝑲 que foi

projetado visando à implementação, portanto a planta real, como pode ser observado

nos resultados expostos.

O sistema simulado não possui uma resposta boa e não segue os critérios de

desempenho, se comparado ao sistema implementado, que logicamente segue os

critérios de desempenho escolhidos para o projeto.

Page 89: Estudo da Modelagem Robótica

88

5.1. Pesquisas Futuras

Os próximos passos, a partir, do que foi feito até então serão:

Construção de um modelo em equações de estados para o Link Flexível de 1-

DOF com menor grau de incerteza;

Aplicação de controladores robustos LQG/LTR, ℋ2, ℋ∞ e com Incertezas

Politópicas via Inequações Matriciais Lineares (LMI’s) ao Link Flexível de 1-DOF;

Identificação de Sistemas aplicada aos motores AC de cada junta do

manipulador DENSO® VP-6242 6-DOF;

Aplicação de diversos tipos de controladores (PID, LQR, Fuzzy T-S-K, etc) aos

motores AC do manipulador DENSO® VP-6242 6-DOF.

Além disso, o Laboratório de Controle Avançado, Robótica e Engenharia Biomédica no

Departamento de Engenharia Elétrica da Universidade Estadual de Londrina, realizam

atualmente as seguintes pesquisas:

Acionamento e Controle de uma Máquina CA utilizando uma Plataforma

Controlada por um Controlador Digital de Sinais;

Controle de Movimentos Discretos de Pacientes Paraplégicos utilizando

Modelos Fuzzy-Takagi-Sugeno;

Desenvolvimento e Melhorias em uma Interface de Controle para uma Cadeira

de Rodas Elétrica acionada por Sopros e Sucção;

Condições Baseadas em LMI’s e Controle com Estrutura Variável para sistemas

ERP, com aplicação em Pacientes Paraplégicos.

Page 90: Estudo da Modelagem Robótica

89

6 - REFERÊNCIAS BIBLIOGRÁFICAS

ARAUJO, C. V. de; SOUZA, L. C. G. de; FENILI, A.; Estudo experimental da dinâmica e do

sistema de controle de uma viga rigido-flexível. Relatório final de projeto de iniciação

científica, CNPq/INPE, 2011.

CORKE, P.; Robotics, Vision and Control: Fundamental Algorithms in MATLAB®,

Springer – Verlag Berlin Heidelberg, 2011.

CRAIG, J.J.; Robótica, 3 ed., Pearson Educación, México, 2006.

DORF, R.C.; BISHOP, R.H.; Modern Control Systems, 11.ed, Person Prentice Hall, 2010.

GOLDSTEIN, H.; Classical Mechanics, Addison-Wesley Publishing Co., Massachusetts,

1980.

GUEDES, F.M.; SANTOS, S.P.; de SOUZA, L.C.G.; Attitude and Vibration Control of a

Rigid Flexible Link Using LQR and 𝓗∞ Methods. VI National Congress of Mechanical

Engineering. Campina Grande – Paraíba – Brasil. August 18 – 21, 2010.

IYER, S.; LOOI, T.; DRAKE, J.; A Single Arm, Single Camera System for Automated

Suturing. 2013 IEEE International Conference on Robotics and Automation (ICRA).

Karlsruhe, Germany, May 6 -10, 2013.

KESHIMIRI, M.; XIE, W.F.; MOHEBBI, A.; Augmented Imaged Based Visual Servoing of a

Manipulator using Acceleration Command. IEEE Transaction on Industrial Eletronics,

2013.

LOOI, T.; YEUNG, B.; UMASTHAN, M.; DRAKE, J.; KidsArm – An Image-Guided Pediatric

Anastamosis Robot. 2013 IEEE/RSJ International Conference on Intelligent Robots and

Systems (IROS). Tokyo, Japan, November 3 -7, 2013.

MARCUS, H.J.; ZAREINIA, K.; GAN, L.S.; YANG, F.W.; LAMA, S.; YANG, G.Z.;

SUTHERLAND, G.R.; Forces Exerted During Microneurosurgery: A Cadaver Study. The

International Journal of Medical Robotics and Computer Assisted Surgery, 2014.

OGATA, K.; Modern Control Engineering, 5.ed, Person Prentice Hall, 2010.

POPESCU, D.; SENDRESCU, D.; BOBASU, E.; Modelling and Robust Control of a Flexible

Beam Quanser Experiment. Acta Montanistica Slovaca, Ročnik 13, číslo 1, 127 – 135,

2008.

QUANSER inc. Denso Laboratory Guide, 2013.

QUANSER inc. Denso Robot datasheet VP-G Series, 2011a.

Page 91: Estudo da Modelagem Robótica

90

QUANSER inc. Flexgage Manual, 2011b.

QUANSER inc. Flexgage Workbook, 2011c.

QUANSER inc. SRV02 Manual, 2011d.

QUANSER inc. VP-G Model General Information about Robot, 2011e.

SANTOS, V. M. F.; Robótica Industrial: Apontamentos teóricos, Exercícios para aula

pratica e Problemas de exames resolvidos, Departamento de Engenharia Mecânica,

Universidade de Aveiro, Apostila, 2004.

SCHIRMER, L.; Modelagem do Robothron – Um Manipulador de Barras Paralelas.

Dissertação de Mestrado. 103p. UDESC, 2005.

SICILIANO, B.; SCIAVICCO, L.; VILLANI, L.; ORIOLO, G.; Robotics: Modelling, Planning

and Control, Springer – Verlag London Limited, 2009.

SPONG, M.W.; HUTCHINSON, S.; VIDYASASGAR, M.; Robot Modeling and Control, John

Wiley and Sons, 2006.

Page 92: Estudo da Modelagem Robótica

91

APÊNDICE I – Setup do Modelo Link Flexível QUANSER com Cálculo da

Matriz de Realimentação de Estados 𝑲, Matriz 𝑷 e os Polos de Malha

Fechada 𝑬

% %% SETUP_SRV02_EXP06_FLEXLINK

%% Sets the necessary parameters to run the SRV02 Experiment #6: Rotary

% Flexible Link Laboratory using the "q_flexlink.mdl" Simulink diagram.

% % Copyright (c) 2010 Quanser Consulting Inc.

%

clear all;

%%% SRV02 Configuration

% External Gear Configuration: set to 'HIGH' or 'LOW'

EXT_GEAR_CONFIG = 'HIGH';

% Encoder Type: set to 'E' or 'EHR'

ENCODER_TYPE = 'E';

% Is SRV02 equipped with Tachometer? (i.e. option T): set to 'YES' or 'NO'

TACH_OPTION = 'YES';

% Type of Load: set to 'NONE', 'DISC', or 'BAR'

LOAD_TYPE = 'NONE';

% Amplifier Gain used: set VoltPAQ-X1 gain switch to 1.

% NOTE: If using VoltPAQ-X2, set K_AMP = 3

K_AMP = 1;

% Amplifier type: set to 'UPM_1503' or 'UPM_2405' or 'VoltPaq' or 'Q3'

AMP_TYPE = 'VoltPaq';

% Digital-to-Analog Maximum Voltage (V)

VMAX_DAC = 10;

%% Lab Configuration

Page 93: Estudo da Modelagem Robótica

92

% Type of controller: set it to 'AUTO', 'MANUAL'

%CONTROL_TYPE = 'AUTO';

CONTROL_TYPE = 'MANUAL';

%%% Control specifications

% SRV02 Position Control specifications

% Settling time (s)

ts = 1.5;

% Settling time percentage (%)

c_ts = 0.04;

% Percentage overshoot (%)

PO = 5.0;

% %% Filter Parameters

% SRV02 High-pass filter in PD control used to compute velocity

% Cutoff frequency (rad/s)

wcf_1 = 2 * pi * 50;

wcf_2 = 2 * pi * 20;

%%% System Parameters

% Sets model variables according to the user-defined SRV02 configuration

[ Rm, kt, km, Kg, eta_g, Beq, Jm, Jeq, eta_m, K_POT, K_TACH, K_ENC, VMAX_AMP,

IMAX_AMP ] = config_srv02( EXT_GEAR_CONFIG, ENCODER_TYPE, TACH_OPTION,

AMP_TYPE, LOAD_TYPE );

% Sets the model and sensor parameters of the Flexible Link plant.

[ Jl, Bl, K_GAGE ] = config_flexgage( );

%

if strcmp ( CONTROL_TYPE , 'MANUAL')

disp ('');

Ks = input('Enter link stiffness (Ks): ');

Page 94: Estudo da Modelagem Robótica

93

elseif strcmp (CONTROL_TYPE , 'AUTO')

Ks = d_flexgage_Ks;

end

%%% System Model

% Set Open-loop state-space model of rotary single inverted pendulum

if strcmp ( CONTROL_TYPE , 'MANUAL')

FLEXGAGE_ABCD_eqns_student;

elseif strcmp (CONTROL_TYPE , 'AUTO')

FLEXGAGE_ABCD_eqns;

end

% Add dc motor dynamics

Ao = A;

Bo = B;

B = eta_g*Kg*eta_m*kt/Rm*Bo;

A(3,3) = Ao(3,3) - Bo(3)*eta_g*Kg^2*eta_m*kt*km/Rm;

A(4,3) = Ao(4,3) - Bo(4)*eta_g*Kg^2*eta_m*kt*km/Rm;

%%% LQR Control

if strcmp ( CONTROL_TYPE , 'MANUAL' )

% Set Q and R matrices to get desired response.

Q = diag([300 1 9 13]);

R = 1;

[K,P,E] = lqr(A,B,Q,R);

elseif strcmp ( CONTROL_TYPE , 'AUTO' )

K = d_flexgage_lqr(A,B);

end

%% Display

Page 95: Estudo da Modelagem Robótica

94

disp( ' ' );

K

P

E

Page 96: Estudo da Modelagem Robótica

95

APÊNDICE II – Configurações do SRV02

%% CONFIG_SRV02

%% Accepts the user-defined configuration of the Quanser SRV02 plant and

% sets its model variables accordingly.

%%

***********************************************************************

% Input parameters:

% EXT_GEAR_CONFIG External gear configuration: 'LOW' or 'HIGH'

% ENCODER_TYPE Encoder type: 'E' or 'EHR'

% TACH_OPTION Tachometer option (e.g. SRV02-T): 'YES' or 'NO'

% AMP_TYPE Universal Power Module type, e.g. 'VoltPAQ'

% LOAD_TYPE Type of load: 'NONE', 'DISC', or 'BAR'

%%

***********************************************************************

% Output parameters:

% Rm Motor armaturce resistance (ohm)

% kt Motor torque constant (N.m/A)

% km Motor back-EMF constant (V.s/rad)

% Kg Total gear ratio

% eta_g Gearbox efficiency

% eta_m Motor efficiency

% Beq Equivalent viscous damping coefficient w.r.t. load (N.m.s/rad)

% Jm Motor armature moment of inertia (kg.m^2)

% Jeq Equivalent moment of inertia w.r.t. load (kg.m^2)

% K_POT Potentiometer Sensitivity (rad/V)

% K_TACH Tachometer Sensitivity (rad/s/V)

% K_ENC Encoder Resolution (rad/count)

Page 97: Estudo da Modelagem Robótica

96

% VMAX_AMP Amplifier Maximum Output Voltage (V)

% IMAX_AMP Amplifier Maximum Output Current (A)

%% Copyright (C) 2010 Quanser Consulting Inc.

% Quanser Consulting Inc.

%%%

function [ Rm, kt, km, Kg, eta_g, Beq, Jm, Jeq, eta_m, K_POT, K_TACH, K_ENC,

VMAX_AMP, IMAX_AMP ] = config_srv02( EXT_GEAR_CONFIG, ENCODER_TYPE,

TACH_OPTION, AMP_TYPE, LOAD_TYPE )

% Set constant SRV02 parameters

[ Rm, kt, km, Kgi, eta_g, eta_m ] = set_srv02_constants();

% Calculate motor and gear inertias

[ Jm, J24, J72, J120 ] = calc_motor_and_gear_inertias( TACH_OPTION );

% Calculate SRV02 Model Parameters

[ Kg, Beq, Jeq ] = calc_eq_damping_inerta( EXT_GEAR_CONFIG, LOAD_TYPE, Kgi,

eta_g, Jm, J24, J72, J120 );

% Set sensor and actuator calibration gains

[K_POT, K_TACH, K_ENC, VMAX_AMP, IMAX_AMP] = srv02_calib ( ENCODER_TYPE,

AMP_TYPE, Kg );

end

%%%% Sets constant SRV02 model parameters.

function [ Rm, kt, km, Kgi, eta_g, eta_m ] = set_srv02_constants( )

% Calculate Useful Conversion Factors

[ K_R2D, K_D2R, K_IN2M, K_M2IN, K_RDPS2RPM, K_RPM2RDPS, K_OZ2N, K_N2OZ,

K_LBS2N, K_N2LBS, K_G2MS, K_MS2G ] = calc_conversion_constants ();

% % Armature Resistance (Ohm)

Rm = 2.6;

% Motor Torque Constant (N.m/A)

kt = 1.088 * K_OZ2N * K_IN2M; % = .00767

Page 98: Estudo da Modelagem Robótica

97

% Continuous torque (N.m/A)

M_e_max = 0.566 * K_OZ2N * K_IN2M; % = 0.566 oz.in (parameter not used)

% Motor Back-EMF Constant (V.s/rd)

km = 0.804 / 1000 * K_RDPS2RPM; % = .00767

% Internal Gear Ratio (of the Planetary Gearbox)

Kgi = 14;

% Gearbox Efficiency

eta_g = 0.90;

% Motor ElectroMechanical Efficiency

eta_m = 0.69;

end

%%%% Calculates the SRV02 motor and external gear inertias (kg.m^2)

function [ Jm, J24, J72, J120 ] = calc_motor_and_gear_inertias( TACH_OPTION )

% Calculate Useful Conversion Factors

[ K_R2D, K_D2R, K_IN2M, K_M2IN, K_RDPS2RPM, K_RPM2RDPS, K_OZ2N, K_N2OZ,

K_LBS2N, K_N2LBS, K_G2MS, K_MS2G ] = calc_conversion_constants ();

% % Find motor shaft inertia.

% Rotor Inertia (kg.m^2)

Jm_rotor = 5.523e-5 * K_OZ2N * K_IN2M; % = 3.9e-7

% Tachometer Armature Inertia, if any (kg.m^2)

if strcmp ( TACH_OPTION, 'YES')

Jtach = 1e-5 * K_OZ2N * K_IN2M; % = 7e-8

else

Jtach = 0;

end

% Motor Equivalent Inertia (kg.m^2)

Page 99: Estudo da Modelagem Robótica

98

Jm = Jm_rotor + Jtach;

% % External Gears Inertias (kg.m^2)

% J24: 24-tooth Gear Inertia (on the Motor Shaft)

m24 = 0.005; % mass (kg)

r24 = 0.5 / 2 * 0.0254; % radius (m)

J24 = m24 * r24^2 / 2;

% J72: 72-tooth Gear Inertia (on the Potentiometer Shaft)

m72 = 0.030; % mass (kg)

r72 = 1.5 / 2 * 0.0254; % radius (m)

J72 = m72 * r72^2 / 2;

% J120: 120-tooth Gear Inertia (on the Load Shaft)

m120 = 0.083; % mass (kg)

r120 = 2.5 / 2 * 0.0254; % radius (m)

J120 = m120 * r120^2 / 2;

end

%%%% Calculates SRV02 model parameters based on its configuration

function [ Kg, Beq, Jeq ] = calc_eq_damping_inerta( EXT_GEAR_CONFIG, LOAD_TYPE,

Kgi, eta_g, Jm, J24, J72, J120 )

%% Moment of inertia of load attached to load shaft of SRV02

if strcmp (LOAD_TYPE, 'NONE')

Jl_ext = 0;

elseif strcmp (LOAD_TYPE, 'DISC')

Jl_ext = 1/2 * 0.04 * (0.05)^2; % J = mr^2 / 2

elseif strcmp (LOAD_TYPE, 'BAR')

Jl_ext = 1/12 * 0.038 * (0.1525)^2 + 0.038 * (0.0575)^2; % J = mL^2 / 12 + mR^2

(Moment about center then shifted)

elseif strcmp (LOAD_TYPE, 'SLIP_RING')

Page 100: Estudo da Modelagem Robótica

99

mtracker = 0.244; % mass (kg)

rtracker = 2 * 0.0254; % radius (m)

Jl_ext = mtracker * rtracker^2 / 2; % J = mr^2 / 2

elseif strcmp (LOAD_TYPE, 'ROTFLEX')

Jl_ext = 0.0005; % Calculated Experimentally

elseif strcmp (LOAD_TYPE, 'FLEXGAGE')

Jl_ext = 0.0002; % Calculated Experimentally

elseif strcmp (LOAD_TYPE, 'ROTPEN')

Jl_ext = 0.0015; % Calculated Experimentally

elseif strcmp (LOAD_TYPE, 'GYRO')

Jl_ext = 0.002; % Calculated Experimentally

elseif ( strcmp (LOAD_TYPE, 'TORSION_1DOF') || strcmp (LOAD_TYPE,

'TORSION_2DOF') )

% Found experimentally

Jl_ext = 0.0001;

else

error( 'LOAD_TYPE set not recognized.' )

Jl_ext = 0;

end

% % Moment of inertia and viscous damping based on external gear

% configuration.

if strcmp (EXT_GEAR_CONFIG, 'LOW')

% Low Gear Configuration: (3x) 72-tooth gears

Kge = 1;

Kg = Kgi * Kge;

% Equivalent moment of inertia including load (kg.m^2)

Page 101: Estudo da Modelagem Robótica

100

Jg = 3 * J72;

% Equivalent Viscous Damping Coefficient as seen at the Load (N.m.s/rd)

Beq = 15e-5;

elseif strcmp (EXT_GEAR_CONFIG, 'HIGH')

% High Gear Configuration:

% (1x) 24-tooth gear, (2x) 72-tooth gear, (1x) 120-tooth gear

Kge = 5;

Kg = Kgi * Kge;

% Equivalent moment of inertia including load (kg.m^2)

Jg = J24 + 2 * J72 + J120;

% Equivalent Viscous Damping Coefficient as seen at the Load (N.m.s/rd)

Beq = 15e-3;

else

error( 'EXT_GEAR_CONFIG set not recognized.' )

Kge = 0;

Kg = 0;

Jg = 0;

Beq = 0;

end

% Load moment of inertia: gears and external (kg.m^2)

Jl = Jg + Jl_ext;

% Equivalent moment of inertia including load (kg.m^2)

Jeq = Kg^2 * Jm * eta_g + Jl;

end

%%%% Sets sensor and amplifier calibration gains.

Page 102: Estudo da Modelagem Robótica

101

function [K_POT, K_TACH, K_ENC, VMAX_AMP, IMAX_AMP] = srv02_calib (

ENCODER_TYPE, AMP_TYPE, Kg )

% Potentiometer Sensitivity (rd/V)

K_POT = -(352 * pi / 180 / 10);

% Tachometer Sensitivity (rd/s/V)

K_TACH = -(1000 * 2 * pi / 60 / 1.5 / Kg);

% Encoder Resolution, for a quadrature encoder, (rd/count)

if strcmp (ENCODER_TYPE,'E')

K_ENC = 2 * pi / ( 4 * 1024 );

elseif strcmp (ENCODER_TYPE,'EHR')

K_ENC = 2 * pi / ( 4 * 2048 );

else

error( 'ENCODER_TYPE set not recognized.' )

K_ENC = 0;

end

% Set the amplifier Maximum Output Voltage (V) and Output Current (A)

if strcmpi (AMP_TYPE, 'VoltPAQ')

VMAX_AMP = 24;

IMAX_AMP = 4;

elseif strcmpi (AMP_TYPE, 'UPM_2405')

VMAX_AMP = 24;

IMAX_AMP = 5;

elseif strcmpi (AMP_TYPE, 'UPM_1503')

VMAX_AMP = 15;

IMAX_AMP = 3;

Page 103: Estudo da Modelagem Robótica

102

elseif strcmpi (AMP_TYPE, 'Q3')

IMAX_AMP = 1.6;

VMAX_AMP = 2.6 * IMAX_AMP; % Multiply times resistance of SRV02

else

error( 'AMP_TYPE set not recognized.' )

VMAX_AMP = 0;

IMAX_AMP = 0;

end

end

Page 104: Estudo da Modelagem Robótica

103

APÊNDICE III – Configuração do Link Flexível

%% CONFIG_FLEXLINK

%% This file sets the parameters related to the flexible link plant such as

% its length, mass, moment of inertia and strain gage calibration constant.

%%%

***********************************************************************

% Output parameters:

% Jl Moment of inertia of flexible link (kg.m^2)

% Bl Viscous damping of flexible link (N.m/(rad/s))

% K_GAGE Strain gage calibration constant (rad/V)

%% Copyright (C) 2010 Quanser Consulting Inc.

% Quanser Consulting Inc.

%%%

function [ Jl, Bl, K_GAGE ] = config_flexgage ( )

% Length of flexible link (m)

Ll = 0.0254 * 16.5;

% Mass of flexible link (kg)

ml = 0.065;

% Link moment of inertia (kg.m^2)

Jl = ml * Ll ^ 2 / 3;

% Link equivalent viscous damping (N.m/(rad/s))

Bl = 0;

% Strain gage calibration constant (rad/V)

% note: gives the angular deflection of the link tip

K_GAGE = 1/16.5;

End

Page 105: Estudo da Modelagem Robótica

104

Page 106: Estudo da Modelagem Robótica

105

APÊNDICE IV – Matrizes do Modelo de Espaço de Estado Estimado

A = [0 0 1 0;0 0 0 1; 0 806.25 -31.2643 0; 0 -1247 35.1105 0];

B = [0 0 61.7325 -61.7325]';

C = eye(2,4);

D = zeros(2,1);

Page 107: Estudo da Modelagem Robótica

106

Page 108: Estudo da Modelagem Robótica

107

APÊNDICE V – Cálculo das Constantes do Modelo

%% CALC_CONVERSION_CONSTANTS

%% Calculates useful conversion factors w.r.t. units.

%% Copyright (C) 2010 Quanser Consulting Inc.

% Quanser Consulting Inc.

%%%

function [ K_R2D, K_D2R, K_IN2M, K_M2IN, K_RDPS2RPM, K_RPM2RDPS, K_OZ2N,

K_N2OZ, K_LBS2N, K_N2LBS, K_G2MS, K_MS2G ] = calc_conversion_constants ()

% from radians to degrees

K_R2D = 180 / pi;

% from degrees to radians

K_D2R = 1 / K_R2D;

% from Inch to Meter

K_IN2M = 0.0254;

% from Meter to Inch

K_M2IN = 1 / K_IN2M;

% from rad/s to RPM

K_RDPS2RPM = 60 / ( 2 * pi );

% from RPM to rad/s

K_RPM2RDPS = 1 / K_RDPS2RPM;

% from oz-force to N

K_OZ2N = 0.2780139;

% from N to oz-force

K_N2OZ = 1 / K_OZ2N;

% Pound to Newton (N/lbs)

K_LBS2N = 4.4482216;

Page 109: Estudo da Modelagem Robótica

108

% Newton to Pound (lbs/N/)

K_N2LBS = 1 / K_LBS2N;

% from g to m/s^2

K_G2MS = 9.81;

% from m/s^2 to g

K_MS2G = 1 / K_G2MS;

End

Page 110: Estudo da Modelagem Robótica

109

ANEXO I - Matrizes e Vetores

Um vetor é freqüentemente relacionado ao conceito de movimento em um sentido e

direção. Por exemplo, um ponto no espaço é representado por três coordenadas, isto

é, pelo ponto 𝑷 = [𝑥 𝑦 𝑧]𝑇 , que também é um vetor entre a origem e este ponto

(SANTOS, 2004).

As matrizes são arranjos retangulares de números ou expressões distintos ou iguais

entre si, dos quais os vetores são casos particulares (SANTOS, 2004).

1 - Produto de um escalar por uma matriz

A operação resulta numa matriz cujos elementos são todos afetados pelo fator

multiplicativo como mostrado em (A1).

Se 𝑻 = 𝑎 𝑏𝑐 𝑑

, então

𝛼𝑻 = 𝛼 𝑎 𝑏𝑐 𝑑

= 𝛼𝑎 𝛼𝑏𝛼𝑐 𝛼𝑑

(A1)

2 - Inversão de uma matriz

A inversão de uma matriz quadrada é dada por (A2).

𝑨−1 =𝐴𝑑𝑗 (𝑨)

det (𝑨) (A2)

onde 𝐴𝑑𝑗(𝑨) é a matriz cofatora transposta ou adjunta, definida como 𝐴𝑑𝑗 𝑨 =

−1 𝑖+𝑗 det 𝒀 sendo det 𝒀 o determinante da matriz obtida eliminando a linha e a

coluna da matriz original que contenha o elemento 𝑎𝑖𝑗 .

A inversa de uma matriz possui a seguinte propriedade dada por (A3).

𝑨 ∙ 𝑨−𝟏 = 𝑰 (A3)

onde 𝑰 é a matriz identidade.

3 - Produto escalar de vetores

O produto escalar entre dois vetores é dado por (A4).

𝒗 ∙ 𝒖 =∥ 𝒗 ∥∥ 𝒖 ∥ 𝑐𝑜𝑠𝛼 (A4)

onde 𝛼 é o ângulo entre os 2 vetores e ∥∙∥ é a norma euclidiana do vetor.

4 - Produto vetorial de vetores

O produto vetorial entre dois vetores (A5) é uma operação que resulta num terceiro

vetor perpendicular aos dois primeiros.

Page 111: Estudo da Modelagem Robótica

110

𝒄 = 𝒂 × 𝒃 =∥ 𝒂 ∥∙∥ 𝒃 ∥ 𝑠𝑒𝑛𝛼 (A5)

O produto vetorial possui a seguinte propriedade dada por (A6).

𝒃 × 𝒂 = −𝒂 × 𝒃 = −𝒄 (A6)

Figura A1 – Representação Geométrica do Produto Vetorial (SANTOS, 2004).

5 - Produto Genérico entre matrizes

Para duas matrizes serem multiplicáveis, é necessário que tenham as dimensões

compatíveis entre si. Por isso, o número de colunas na primeira matriz deve ser igual

ao número de linhas da segunda matriz.

A Figura A2 abaixo ilustra com exemplo de maneira prática a multiplicação entre duas

matrizes.

Figura A2 – Exemplo Prático para Multiplicação de Matrizes (SANTOS, 2004).

Pela Figura A2 observa-se que elementos de cada matriz são postos par a par na

direção das setas; cada par é multiplicado e os produtos são somados. A posição do

número resultante corresponde ao da seta e coluna que foi considerada.

Page 112: Estudo da Modelagem Robótica

111

ANEXO II - Matrizes Definidas Positivas Uma matriz simétrica 𝑨 de ordem 𝑛 × 𝑛 é definida positiva se, para qualquer vetor 𝒙, tem-se a relação em (A7). 𝒙𝑻𝑨𝒙 ≥ 0 (A7)

em que 𝒙𝑻𝑨𝒙 é sempre real. A matriz 𝑨 é definida positiva se todos os seus autovalores são maiores que zero. A matriz 𝑨 é semi-definida positiva se pelo menos um autovalor é zero e os outros são positivos. Outra forma, de verificar se 𝑨 é definida positiva é analisando os menores principais. Seja a matriz A dada por (A8):

𝑨 = 𝑎 𝑏 𝑐𝑏 𝑑 𝑒𝑐 𝑒 𝑓

(A8)

Os menores principais da matriz 𝑨 são dados por (A9) e todos eles devem ser positivos, para que 𝑨 seja definida positiva.

𝑎 > 0, 𝑑𝑒𝑡 𝑎 𝑏𝑏 𝑐

> 0 e 𝑑𝑒𝑡 𝑎 𝑏 𝑐𝑏 𝑑 𝑒𝑐 𝑒 𝑓

> 0 (A9)

Page 113: Estudo da Modelagem Robótica

112

Page 114: Estudo da Modelagem Robótica

113

ANEXO III - Mecânica Lagrangeana

Para encontrar as Equações de Movimento de sistemas mecânicos mais complexos,

torna-se mais simples utilizar a Mecânica Lagrangeana ao invés de usar a Mecânica

Vetorial de Newton, isto porque a Mecânica Lagrangeana é baseada em métodos de

energia, não utilizando para sua descrição nenhum método vetorial, o que a torna

atraente para a modelagem de sistemas como manipuladores robóticos de uma ou

várias juntas.

A Equação de Euler-Lagrange (GOLDSTEIN, 1980) que descreve a dinâmica do sistema é

dada por (A10).

𝜕2ℒ

𝜕𝑡𝜕 𝑞𝑖 −

𝜕ℒ

𝜕𝑞𝑖= 𝑄𝑖 (A10)

onde 𝑞𝑖 é chamada de coordenadas generalizadas. A função lagrangiana do sistema é

dada por (A11) (GOLDSTEIN, 1980).

ℒ ≔ 𝑇 − 𝑉 (A11)

onde 𝑇 é a energia cinética do sistema e 𝑉 é a energia potencial do sistema.