Você está na página 1de 268

UNIVERSIDADE ESTADUAL DE CAMPINAS

Faculdade de Engenharia Mecânica

Edgard de Oliveira

Prototipagem de Arquitetura de Supervisão


e Controle de Células Robotizadas com
ênfase na sua Integração em Ambientes
Automatizados

CAMPINAS
2017
Agência(s) de fomento e nº(s) de processo(s): Não se aplica.

Ficha catalográfica
Universidade Estadual de Campinas
Biblioteca da Área de Engenharia e Arquitetura
Elizangela Aparecida dos Santos Souza - CRB 8/8098

Oliveira, Edgard de, 1968-


OL4p OliPrototipagem de arquitetura de supervisão e controle de células robotizadas
com ênfase na sua integração em ambientes automatizados / Edgard de
Oliveira. – Campinas, SP : [s.n.], 2017.

OliOrientador: João Maurício Rosário.


OliTese (doutorado) – Universidade Estadual de Campinas, Faculdade de
Engenharia Mecânica.

Oli1. Automação. 2. Prototipagem. 3. Instrumentação. 4. Controle. 5.


Mecatrônica. I. Rosário, João Maurício,1959-. II. Universidade Estadual de
Campinas. Faculdade de Engenharia Mecânica. III. Título.

Informações para Biblioteca Digital

Título em outro idioma: Prototyping of robotic cell supervision and control architecture with
emphasis on integration in automated enviroments
Palavras-chave em inglês:
Automation
Prototyping
Instrumentation
Control
Mechatronics
Área de concentração: Mecânica dos Sólidos e Projeto Mecânico
Titulação: Doutor em Engenharia Mecânica
Banca examinadora:
João Maurício Rosário [Orientador]
Marcos Antonio Porta Saramago
Leonimer Flavio de Melo
Ely Carneiro de Paiva
Francisco Carlos Parquet Bizarria
Data de defesa: 18-08-2017
Programa de Pós-Graduação: Engenharia Mecânica

Powered by TCPDF (www.tcpdf.org)


UNIVERSIDADE ESTADUAL DE CAMPINAS
FACULDADE DE ENGENHARIA MECÂNICA
COMISSÃO DE PÓS-GRADUAÇÃO EM ENGENHARIA
MECÂNICA

DEPARTAMENTO DE PROJETO MECÂNICO

TESE DE DOUTORADO

Prototipagem de Arquitetura de Supervisão e


Controle de Células Robotizadas com ênfase
na sua Integração em Ambientes
Automatizados
Autor: Edgard de Oliveira
Orientador: Prof. Dr. João Maurício Rosário

A Banca Examinadora composta pelos membros abaixo aprovou esta Tese :

Prof. Dr. João Maurício Rosário,


Universidade Estadual de Campinas - UNICAMP.

Prof. Dr. Marcos Antonio Porta Saramago


Universidade Estadual de Campinas – UNICAMP.

Prof. Dr. Leonimer Flavio de Melo


Universidade Estadual de Londrina

Prof. Dr. Francisco Carlos Parquet Bizarria


Universidade de Taubaté

Prof. Dr. Ely Carneiro de Paiva


Universidade Estadual de Campinas - UNICAMP.

A Ata da defesa com as respectivas assinaturas dos membros encontra-se no processo de


vida acadêmica do aluno.

Campinas, 18 de Agosto de 2017


Dedicatória:

Dedico este trabalho à meu pai, minha mãe, minha esposa e filho.
Agradecimentos

Este trabalho não poderia ser terminado sem a ajuda de diversas pessoas às quais
presto minha homenagem:
A meus pais, minha esposa e filho, pelo incentivo em todos os momentos da minha
vida.
Ao meu orientador, prof. Dr. João Maurício Rosário, pela forma como conduziu este
trabalho e principalmente pela confiança que depositou em mim.
Aos amigos que ajudaram de forma direta e indireta na conclusão deste trabalho.
Resumo

Oliveira, Edgard, Prototipagem de Arquitetura de Supervisão e Controle de Células


Robotizadas com ênfase na sua Integração em Ambientes Automatizados, Faculdade
de Engenharia Mecânica, Universidade Estadual de Campinas, 2017. 268 p. Tese
(Doutorado)

Por meio da integração de conhecimentos nas diferentes áreas da engenharia, física,


matemática e computação, surgiu uma ciência multidisciplinar denominada mecatrônica.
Com o rápido avanço das tecnologias e a crescente demanda por soluções que as
acompanhem, criou-se uma necessidade, no mercado tecnológico, de reduzir o tempo de
implementação de um projeto através da utilização de ferramentas de prototipagem rápida
que permitissem a sua integração em Ambientes Automatizados. O objetivo do presente
trabalho é a apresentação de metodologias de Prototipagem de Arquitetura de Supervisão e
Controle de Células Robotizadas com ênfase na sua Integração em Ambientes
Automatizados, através de ambiente voltado à capacitação e desenvolvimento de projetos
na área de automação industrial, onde os principais conceitos, como por exemplo,
prototipagem de sistemas, identificação e calibração de dispositivos robóticos, sistemas de
supervisão e sua integração, entre outros, possam ser verificados e posteriormente
implementados e validados através de problemas industriais, fornecendo subsídios para a
análise e estratégias para concepção destas aplicações. A proposta final foi validada a partir
da implementação de uma célula robotizada no Laboratório de Automação e Robótica onde
foram integrados diversos dispositivos robóticos diferentes.

Palavras Chaves
Automação industrial, Instrumentação Virtual, Prototipagem Rápida, Controle, Mecatrônica
Abstract

Oliveira, Edgard: Prototyping of Robotic Cell Supervision and Control Architecture with
emphasis on Integration in Automated Environments, Faculdade de Engenharia
Mecânica, Universidade Estadual de Campinas, 2017. 268 p. Tese (Doutorado)

Through the integration of knowledge in the different areas of engineering, physics,


mathematics and computing, a multidisciplinary science called mechatronics emerged.
With the rapid advancement of technologies and the growing demand for accompanying
solutions, there has been a need in the technology market to reduce the implementation time
of a project through the use of rapid prototyping tools that allow its integration into
Environments Automated. The objective of the present work is the presentation of
prototyping methodologies for the Supervision and Control Architecture of Robotized Cells
with emphasis on their Integration in Automated Environments, through an environment
focused on the qualification and development of projects in the area of industrial
automation, where the main concepts such as prototyping of systems, identification and
calibration of robotic devices, supervisory systems and their integration, among others, can
be verified and later implemented and validated through industrial problems, providing
subsidies for the analysis and strategies for the design of these applications . The final
proposal was validated from the implementation of a robotic cell in the Laboratory of
Automation and Robotics where several different robotic devices were integrated.

Keywords
Industrial automation, Virtual Instrumentation, Rapid Prototyping, Control, Mechatronics
Lista de Ilustrações

Figura 1.1 Integração de Célula de Manufatura – LAIR 26


Figura 2.1 Concepção de um dispositivo mecatrônico desenvolvido em CAD 31

Figura 2.2 Hardware In the Loop através do Mathworks® 32

Figura 2.3 Ciclo em V (Isermann, 2005). 34

Figura 2.4 Exemplo de Célula Robotizada 36


Figura 2.5 Exemplo de Células Robotizadas (Pinotti e Amaral, 2006) 37
Figura 2.6 Robô centralizado na célula 38
Figura 2.7 Prototipagem de uma Célula Flexível de Manufatura 39

Figura 2.8 Utilização de redes de Petri no modelamento e análise de sistemas 40

Figura 2.9 Exemplo de GRAFCET 42

Figura 2.10 Fluxograma das diferentes fases de implementação de uma Célula


Robotizada 43
Figura 2.11 Simulação off-line de operações numa célula de trabalho 44
Figura 2.12: Gerador de trajetórias 46
Figura 2.13 Perfis de Movimento para dispositivo robótico 47
Figura 2.14 Principais aplicações em Visão Robótica em Automação 52
Figura 2.15 Célula Automatizada 53
Figura 2.16 Sistemática utilizada para cálculo de posicionamento do Robô 54
Figura 2.17 Célula de Paletização de Vidros (indústria automobilística) 55
Figura 2.18 Célula de montagem 55
Figura 2.19 Célula de Soldagem 56
Figura 2.20 Célula de Usinagem 57
Figura 2.21 Célula de Dobramento de Chapas 57
Figura 2.22 Célula de colagem de Vidros Automotivos 57
Figura 2.23 Células de Corte 58
Figura 2.24 Célula de Polimento 58
Figura 2.25 Célula de Desenhos 58
Figura 2.26 Célula de pintura por pulverização 59
Figura 2.27 Diagrama de Blocos do sistema de controle de um dispositivo robótico 59
Figura 2.28 Estrutura de Controle de uma Junta Robótica 60
Figura 2.29 Conceito de repetibilidade e posicionamento de precisão de
Posicionamento 62
Figura 2.30 Control Motion da NI 62
Figura 2.31 Plataforma Control Motion da NI 63
Figura 2.32 Gerador de Movimentos de Juntas Robóticas 64

Figura 2.33 Assistente do software de prototipagem – Control Motion 64

Figura 2.34 Concepção de Instrumentos Virtuais (NI) 68


Figura 2.35 Camadas de Software para Instrumentação Virtual (NI Instruments) 69

Figura 2.36 Exemplo de sistema de instrumentação virtual baseado em LAN/Ethernet 71

Figura 2.37 Exemplo de Célula de Manufatura multi-usuário 73

Figura 3.1 Célula Robotizada e Mesa Robótica de Posicionamento 77

Figura 3.2 Estrutura de Controle 79

Figura 3.3 Estrutura Cinemática 81

Figura 3.4 Diagrama de blocos e Estrutura de Controle de um Dispositivo Mecatrônico 86

Figura 3.5 Simulador de uma mesa de 3 GL’s usando ambiente Simulink® 88


Figura 3.6 Sinal de referência de posição para cada junta 89

Figura 3.7 Malha de controle de posição de uma junta 90


Figura 3.8 Estrutura de controle na forma RST 90

Figura 3.9 Modelo Dinâmico implementada nos blocos do Matlab-Simulink® 91

Figura 3.10 Menu do simulador robótico 3 GL 92

Figura 3.11 Haste colocada sobre a mesa para visualização dos movimentos 92

Figura 3.12 Perfil velocidade das juntas com acionamento somente do motor 2 93

Figura 3.13 Deslocamento angular das juntas (acionamento da junta 2) 94

Figura 3.14 Sinal do controle 95


Figura 3.15 Movimento da haste no centro da mesa com apenas o motor 2 acionado 95

Figura 3.16 Projeção dos movimentos da haste no centro da mesa em relação aos
eixos x, y e z 96

Figura 3.17 Movimentação espacial da haste no centro da mesa com apenas o motor
2 acionado 96

Figura 3.18 Estudo do Erro 97

Figura 3.19 Estudo do Erro de Posicionamento entre o Robô e Painel de atuação 99

Figura 3.20 Definição dos referenciais de medida 101

Figura 3.21 Pontos de medição do palete conhecidos 102

Figura 3.22 Sistema Externo utilizado para Calibração do Robô ABB 104

Figura 3.23 Identificação dos Parâmetros de Posicionamento 105

Figura 3.24 Ferramenta de Soldagem de um Robô 106

Figura 3.25 Referenciais de Medição utilizados 107

Figura 3.26 Plataforma de Stewart-Gough 110

Figura 3.27 Modelo Geométrico da Plataforma 111

Figura 3.28 Sistemas de Referência associados à base superior e inferior 112

Figura 3.29 Pontos de Referência de fixação dos atuadores na base superior e inferior 113

Figura 3.30 Plataforma antes e depois do movimento 121

Figura 3.31 Modelo completo criado com submodelos no 20SIMTM 123

Figura 4.1 Plataforma de Posicionamento 127

Figura 4.2 Elementos Mecânicos da Plataforma de Posicionamento 128

Figura 4.3 Plataforma de Posicionamento implementada no LAR-UNICAMP 129

Figura 4.4 Sensor de posicionamento de junta linear 130

Figura 4.5 Controlador NI Field Point 131


Figura 4.6 Diagrama de blocos de uma junta linear 131

Figura 4.7 Estrutura de Controle da Plataforma de Posicionamento (6 juntas) 133

Figura 4.8 Tela principal do programa implementado 135

Figura 4.9 Telas de Controle 136

Figura 4.10 Procedimento de Calibração 137

Figura 4.11 Geração de Arquivos para movimentação da Plataforma (6 GL) 139

Figura 4.12 Tela de Carregamentos de arquivos com tempo associado 139

Figura 4.13 Leitura de dados e o cálculo das distensões dos atuadores


(Diagrama Principal) 140

Figura 4.14 Programa de Inicialização dos Atuadores Hidráulicos da Plataforma 141

Figura 4.15 Leitura do arquivo de dados e cálculo das distensões de cada atuador 142

Figura 4.16 Dispositivo Robótico Cartesiano e seus eixos de movimentação 144

Figura 4.17 Fluxograma da Parte Comando proposta 145

Figura 4.18 Tela típica do Aplicativo 146

Figura 4.19 Elementos integradores do Control Motion da NI 147

Figura 4.20 Sistema de Controle e Etapas de implementação do Control Motion da NI 148

Figura 4.21 Control Motion da NI – assistente do software de prototipagem 148

Figura 4.22 Diferentes elementos de uma malha de controle 149

Figura 4.23 Critérios utilizados para Seleção de Motores (NI instruments) 151

Figura 4.24 Tipos de Sistemas de Transmissão Mecânica 151

Figura 4.25 Proposta de dispositivo 152

Figura 4.26 Tela típica da implementação proposta 153

Figura 4.27 Diferentes fases da implementação proposta 154

Figura 4.28 Célula integrada de manufatura 155

Figura 4.29 Plataforma de posicionamento 156


Figura 4.30 Esquema do sistema controlado 157

Figura 4.31 Tela diagrama de blocos implementados em LabVIEWTM 158

Figura 4.32 Telas implementadas para o sistema de Supervisão e Controle 159

Figura 4.33 Esquema Geral da Plataforma Implementada 161

Figura 4.34 Célula de manufatura BYTRONIC - ICT3 162

Figura 4.35 Implementação do Painel de Comando (infraestrutura de comando) 164

Figura 4.36 Dispositivo Robótico Cartesiano 165

Figura 4.37 Sistemas de Coordenadas e Espaço de Trabalho 166

Figura 4.38 Metodologia para Implementação da Logica da parte de Comando 168

Figura 4.39 Especificação GRACET Funcional do SubProcesso Classificação 169

Figura 4.40 Especificação GRACET Funcional do SubProcesso Montagem 170

Figura 4.41 Especificação GRACET Funcional do SubProcesso Inspeção 171

Figura 4.42 Especificação GRACET Funcional do SubProcesso Controle de Qualidade 172

Figura 4.43 Especificação GRACET Funcional do SubProcesso Movimentação de peças 173

Figura 4.44 Diagrama de Integração utilizado na Validação dos Sub–Processos 176

Figura 4.45 Instrumento Virtual de Supervisão e Comando implementado 177

Figura 4.46 Diagrama de Blocos do Instrumento Virtual Desenvolvido 179

Figura 4.47 Diagrama de Blocos do Sistema de Controle de Qualidade 181

Figura 4.48 Imagem Original Capturada pela Câmera 181

Figura 4.49 Processos Realizados Sobre a Imagem 182

Figura 4.50 Identificação da peça 182

Figura 4.51 Arquitetura Geral do Laboratório Remoto 183

Figura 4.52 Diagrama de Blocos para Configuração da Realimentação de Vídeo 184

Figura 5.1 Célula Robotizada Colaborativa 189


Figura 5.2 Dimensões do Cubo (mm) 189

Figura 5.3 Estruturação de tarefas 190

Figura 5.4 Célula Robotizada Integrada 191

Figura 5.5 Tela do software supervisório implementado 192

Figura 5.6 Estrutura GRAFCET – Parte 1 (início) 195

Figura 5.7 Estrutura GRAFCET – Parte 2 (final) 196

Figura 5.8 Célula Automatizada 197

Figura 5.9 Programa Gestor 198

Figura 5.10 Sistemática utilizada para cálculo do posicionamento 199

Figura 5.11 Sistema de Visão Robótica implementado) 202

Figura 5.12 Tela inicial do Sistema de Calibração 204

Figura 5.13 Tela de Calibração de Parâmetros 205

Figura 5.14 Telas típicas obtidas durante o Ajuste Focal 206

Figura 5.15 Tela de Ajuste do raio de referência da esfera de calibração e tolerância 207

Figura 5.16 Tela típica do programa de calibração desenvolvido em LABVIEW 208

Figura 5.17 Tela de Calibração e parâmetros 209

Figura 5.18 Aspectos de um Ambiente de Ensino e Pesquisa Virtual 211

Figura 5.19 Proposta de Implementação – Projeto Kyatera 213

Figura 5.20 Proposta de pagina HTML Controle Implementado em LabVIEW 214

Figura 5.21 Tela típica de Implementação em LabVIEW 215

Figura 5.22 Tela de Visualização de Câmera CCD WEB CAM com IP fixo 215
Lista de Tabelas

Tabela 3.1 Representação dos parâmetros de Denavit-Hartenberg 81

Tabela 3.2 Parâmetros Propostos 122

Tabela 4.1 Código que determina condição e direção de acionamento dos cilindros 138

Tabela 4.2 Parâmetros Denavit-Hartenberg do Manipulador 167

Tabela 4.3 Relação E/S utilizadas para o Comando da Célula de Manufatura 174

Tabela 4.4 Relação Entradas-Saidas para o Comando do Manipulador 175

Tabela 4.5 Indicadores Implementados no Sistema Supervisor 177

Tabela 4.6 Controles Implementados no Sistema Supervisor 178


Lista de Abreviaturas e Siglas

CCD - Charge-Coupled Device

CLP - Controlador Lógico Programável

DSP – Digital Signal Processor

FDB - Function Block Diagram

FPGA - Field Programmable Gate Array

GRAFCET - Grafo de Comando Etapa e Transição

HIL - Hardware In-the-Loop

HTML - HyperText Markup Language

IEC - International Electrotechnical Commission

IP - Internet Protocol

LabVIEW - Laboratory Virtual Instrument Engineering Workbench

LAN - Local Area Network

LD - Ladder Diagram

NI – National Instruments

PAC - Programmable Automation Controller

PCI - Peripheral Component Interconnect

PXI - PCI eXtensions for Instrumentation

RdP – Redes de Petri

SCADA - Supervisory Control and Data Acquisition

SED - Sistemas a Evento Discreto

SFC - Sequential Function Chart

USB - Universal Serial Bus

WWW - World Wide Web


Sumário

Capítulo 1 – Introdução 23

1.1 Apresentação do Problema em Estudo 24


1.2 Motivação do Trabalho 25
1.3 Objetivos do Trabalho 25
1.4 Delineamento do Trabalho 27
1.5 Estrutura do trabalho 27

Capítulo 2 – Revisão Bibliográfica

2.1 Introdução 29
2.2 Utilização da Prototipagem Rápida em Automação 29
2.2.1 Aplicações em Engenharia da Prototipagem Rápida 31
2.2.2 Principais Vantagens da utilização de Prototipagem Rápida 33
2.2.3 Descrição das Etapas para a Prototipagem Rápida 33
2.3 Modelagem e Integração de Células Robotizadas em Automação 35
2.3.1 Características de uma Célula Robotizada e Exemplos de Aplicação 36
2.3.2 Prototipagem Rápida em Células Flexíveis de Manufatura 39
2.3.3 Ferramentas Matemáticas para Automação e Integração de Células
Robotizadas 39
2.3.3.1 Redes de Pétri (RdP) 39
2.3.3.2 SFC (GRAFCET) 41
2.3.4 Metodologia para Prototipagem Rápida de uma Célula Robotizada 42
2.4 Programação de Dispositivos Robóticos e Geração de Tarefas Off-line 43
2.4.1 Programação Off-line e On-line 43
2.4.2 Geração de Trajetórias para Robôs Industriais 46
2.5 Visão Robótica 48
2.5.1 Características do Sistema de Visão 49
2.5.2 Características de um Algoritmo de Visão Robótica 50
2.5.3 Integração com Outros Dispositivos 52
2.6 Identificação e Calibração de Dispositivos Robóticos em Células
Automatizadas 53
2.7 Projeto, Desenvolvimento de Ferramentas Dedicadas para Dispositivos
Robóticos 54
2.7.1 Ferramentas Dedicadas para utilização em Dispositivos Robóticos 55
2.7.2 Controle de Juntas Robóticas 59
2.7.3 Estrutura de Controle e Modelagem de uma Junta Robótica 60
2.7.4 Desempenho de um Dispositivo Robótico 61
2.7.5 Hardware de Controle NI Control Motion 62
2.7.6 Software de Supervisão e Controle NI Control Motion 63
2.8 Sistemas de Supervisão em Células Robotizadas usando Instrumentação Virtual 64
2.8.1 Instrumentação Virtual x Tradicional 66
2.8.2 Concepção de Instrumentos Virtuais 66
2.8.3 A função do Software na Instrumentação Virtual 68
2.8.4 A função do Hardware na Instrumentação Virtual 69
2.9 Redes de Comunicação para Supervisão e Controle Remoto de Células
Automatizadas 70
2.10 Considerações Finais 73

Capítulo 3 – Descrição de Ferramentas de Modelagem e Controle de Células Robotizadas

3.1 Introdução 75
3.2 Modelagem de um Dispositivo Robótico PRR 75
3.2.1 Descrição da Plataforma 76
3.2.2 Modelagem Matemática 78
3.2.2.1 Modelo Cinemático Direto 79
3.2.2.2 Modelo Cinemático Inverso 82
3.2.2.3 Modelo Dinâmico 84
3.2.2.4 Modelo do Atuador 86
3.2.3 Simulador Virtual 87
3.2.3.1 Módulo Geração de Trajetórias 89
3.2.3.2 Módulo Acionamento 89
3.2.3.3 Módulo cinemático 90
3.2.3.4 Interface Gráfica 91
3.2.3.5 Simulação e Resultados Obtidos 92
3.3 Identificação de Posicionamento de Dispositivos Robóticos 97
3.3.1 Erro de Posicionamento de um Robô em relação ao referencial de
Trabalho 98
3.3.2 Fatores de Imprecisão de um Robô em relação ao seu painel de
Atuação 99
3.3.3 Cálculo de Posicionamento do Robô em relação ao referencial de
Trabalho 100
3.3.3.1 Definição dos parâmetros de medida 101
3.3.4 Metodologia de Calibração da Ferramenta Terminal 106
3.3.4.1 Referenciais de Medição 107
3.3.4.2 Implementação em MatlabTM 108
3.3.4.3 Valores utilizados na medição 108
3.4 Modelagem de uma Plataforma de Stewart-Gough 109
3.4.1 - Descrição do Projeto Petrobrás-UNICAMP 110
3.4.2 - Definição de Sistemas de Referência 112
3.4.3 - Modelagem Cinemática 113
3.4.3.1 Cálculo da Matriz de Orientação 114
3.4.3.2 Modelo Geométrico Inverso 117
3.4.4 Definição dos pontos de posicionamento dos atuadores na Base Superior e
Inferior 118
3.4.4.1 Parametrização do Modelo 118
3.4.4.2 Cálculo dos Comprimentos dos atuadores 121
3.4.5 Parâmetros Propostos 122
3.4.6 Implementação do Modelo Cinemático em Matlab-SimulinkTm 123
3.5 Considerações finais 123

Capítulo 4 – Estudo de caso I: Arquitetura de Supervisão e Controle – Implementação de


Células Automatizadas Industriais

4.1 Introdução 125


4.2 Plataforma de Stewart (Robô Paralelo) 126
4.2.1 Descrição e Objetivo do Projeto 126
4.2.2 Concepção Mecânica 127
4.2.3 Arquitetura Operativa 129
4.2.4 Arquitetura de Controle de Posição de Juntas 131
4.2.5 Arquitetura de Supervisão e Controle 133
4.2.5.1 Estrutura de Controle dos Atuadores 133
4.2.5.2 Tela Principal do Programa Desenvolvido 134
4.2.5.3 Procedimento de Calibração 136
4.2.5.4 Arquivos de Geração de Movimentos da Plataforma 137
4.2.6 Descrição dos Programas implementados em LabVIEWTM 140
4.2.7 Resultados 143
4.3 Dispositivo de Controle de PPP (Robô Cartesiano) 143
4.3.1 Descrição do Dispositivo 146
4.3.2 Arquitetura Operativa 147
4.3.3 Arquitetura de Comando 149
4.3.4 Resultados 153
4.4 Dispositivo de Posicionamento PRR para trabalho cooperativo de 2 robôs 154
4.4.1 Descrição e Objetivo do Projeto 154
4.4.2 Arquitetura Operativa 155
4.4.3 Arquitetura de Comando 156
4.4.4 Resultados 159
4.5 Célula Automatizada de Montagem e Inspeção de Produtos 160
4.5.1 Descrição da Célula de Manufatura 161
4.5.2 Arquitetura Operativa 162
4.5.3 Arquitetura de Comando 163
4.5.4 Dispositivo Robótico de Desmontagem e Movimentação de Peças 164
4.5.4.1 Modelagem Cinemática 166
4.5.5 Implementação Lógica da Arquitetura de Comando 167
4.5.5.1 Descrição Funcional do Sub-Processo na Estação de Classificação
de Peças 168
4.5.5.2 Descrição Funcional do Sub-Processo na Estação de Montagem 169
4.5.5.3 Descrição Funcional do Sub-Processo na Estação de Inspeção 170
4.5.5.4 Descrição Funcional do Sub-Processo na Estação de Controle de
Qualidade 171
4.5.5.5 Descrição Funcional do Sub-Processo na Estação de Movimentação
de Peças 172
4.5.5.6 Descrição das E/S 173
4.5.5.7 Implementação dos Sub-Processos nos CLPs 175
4.5.6 Implementação do Módulo de Supervisão e Controle 176
4.5.7 Implementação do Módulo de Controle de Qualidade 179
4.5.8 Teleoperação e WebLab 183
4.6 - Considerações Finais 185

Capitulo 5 – Estudo de Caso II: Integração de Células Robotizadas

5.1 Introdução 187


5.2 Dispositivo Mecatrônico PRR Colaborativo Integrado a Célula Robotizada 187
5.2.1 Ambiente de Validação e Arquitetura de Funcionamento 190
5.2.2 Descrição do Sistema de Supervisão e Controle 193
5.2.3 Protocolo de Comunicação 194
5.2.4 Grafcet Operativo 194
5.3 Metodologia de Posicionamento de Robôs em Células Robotizadas 197
5.3.1 Célula Robotizada para Soldagem de Veículos 197
5.3.2 Metodologias para Identificação de Posicionamento de Robôs 198
5.3.3 Requisitos necessários e configuração requerida 201
5.3.3.1 Dispositivos Mecânicos 201
5.3.3.2 Hardware e Software 201
5.3.4 Metodologia de Calibração utilizando Visão Robótica 202
5.3.5 Descrição dos Aplicativos Implementados 203
5.3.5.1 Sistema de Calibração (SIST_CAL) 203
5.3.5.2 Ajuste de parâmetros de calibração 204
5.3.5.3 Procedimento de Ajuste Focal 205
5.3.5.4 Procedimento de Calibração 207
5.3.6 Calibração da Ferramenta de Trabalho e Palete de Precisão 209
5.3.6.1 Calibração da Ferramenta de Trabalho através de Visão
Robótica 209
5.3.6.2 Calibração do Palete de Precisão 210
5.4 Célula Robotizada Cooperativa através da WEB 210
5.4.1 Ambientes Colaborativos para Ensino e Pesquisa através da WEB 211
5.4.2 Laboratório Virtual em Automação 212
5.4.3 Proposta de Arquitetura WEB 212
5.5 Considerações Finais 216

Capítulo 6 - Conclusões e Perspectivas Futuras 217

Referências Bibliográficas 219

ANEXO I – Modelagens / Programas para Calibração da Ferramenta Terminal 229

ANEXO II - Especificações Entradas e Saídas da Célula Colaborativa 255

ANEXO III - Programação Robô ABB na Célula Colaborativa 261


23

Capítulo 1

Introdução

Com rápido avanço das tecnologias e a crescente demanda por soluções que as
acompanhem, criou-se uma necessidade no mercado tecnológico de reduzir o tempo de
implementação da integração de células flexíveis robotizadas dentro de ambientes industriais.

Manipuladores Robóticos são encontrados na indústria, desenvolvendo as mais diversas


funções, atuando em ambientes insalubres, educacional, ou simplesmente em trabalhos que
requerem força e agilidade. Um robô industrial (manipulador) é composto de uma estrutura
mecânica complexa, com acoplamento dinâmico entre as articulações. Cada grau de liberdade
é constituído por atuadores, sensores de posicionamento e pelo sistema de acionamento e
controle. A robótica industrial possibilita que produtos sejam realizados de maneira mais
rápida e eficiente do que no passado (Rosário, 2004).

Este trabalho tem como principal objetivo a utilização de ferramentas para integração de
sistemas mecatrônicos a fim de torná-los mais precisos e eficientes na execução de tarefas em
conjunto dentro de uma célula flexível, aliando conceitos de prototipagem rápida para a
integração dos diversos dispositivos existentes. A integração de uma célula robotizada deve
também incluir a automação de procedimentos, especificação e desenvolvimento de
ferramentas para inicialização, correção de posicionamento e calibração da ferramenta de
trabalho.

Este capítulo apresenta um panorama geral do trabalho desenvolvido, sendo apresentado


o conceito de Células Flexíveis Robotizadas, com ênfase na integração de ambientes
automatizados, justificando o desenvolvimento desse projeto de pesquisa, seus objetivos
gerais e específicos, a necessidade de capacitação nessa importante área e a forma como foi
delimitada esta questão, além da estrutura geral dos capítulos da tese.
24

1.1 Apresentação do Problema em Estudo

O desenvolvimento tecnológico permitiu uma melhoria nos processos de produção,


através do aumento da quantidade produzida, como também, na qualidade do produto. A
partir daí surgiu a Mecatrônica, área multidisciplinar que envolve a integração de
conhecimentos nas áreas de engenharia, matemática, física e computação, permitindo o
desenvolvimento com maior rapidez de sistemas compostos de uma estrutura mecânica
complexa, geralmente composta por atuadores, sensores de posicionamento e um sistema de
acionamento e controle, inserindo-se dentro desse contexto o uso de dispositivos robóticos.

A integração de diferentes dispositivos mecatrônicos atuando dentro de um mesmo


ambiente e com um objetivo em comum, geram uma célula robotizada. Geralmente, as
funções de cada dispositivo, que são definidas na fase de projeto da célula, são elaboradas
visando um determinado produto e/ou família de produtos. Essas funções obedecem a uma
arquitetura de controle geral da célula, onde cada dispositivo possui uma interface de
comunicação com os outros componentes da célula e respondem ao comando de um sistema
supervisório que faz a integração de todos os dispositivos.

O estudo de novas arquiteturas de controle das células robotizadas torna-se muito


importante para que haja uma melhoraria no desempenho dos dispositivos e robôs industriais
face às mudanças evolutivas dos produtos e dos próprios dispositivos mecatrônicos. A
flexibilização das células robotizadas possibilita que sejam adaptadas cada vez mais
rapidamente podendo interferir em uma grande variação de trabalho, dessa forma, novas
técnicas de controle da célula e sua integração são estudadas com a finalidade de torná-las
mais eficientes.

Mais especificamente na área de integração dos dispositivos de uma célula, se faz


necessária uma ferramenta que possibilite a simulação e a rápida implementação da
metodologia aplicada, validando assim o projeto da célula na prática. Esse tipo de ferramenta
pode ser extremamente útil na área de desenvolvimento industrial, para a validação de estudos
e comprovação de sua eficiência.

As validações dos conceitos e ferramentas de prototipagem desenvolvidos nos capítulos


desta tese de doutorado foram realizadas através da implementação no Laboratório de
25

Automação Integrada e Robótica da UNICAMP de diferentes projetos direcionados ao


Ensino, Formação e Pesquisa em Instrumentação Industrial e Controle.

1.2 Motivação do Trabalho

Considerando-se o atual cenário tecnológico e o alto desenvolvimento de soluções cada


vez mais integradas para concepção e validação de dispositivos mecatrônicos formando uma
célula robotizada, a utilização de ferramentas de prototipagem rápida para integração desses
dispositivos industriais torna-se uma indispensável opção para agilizar e facilitar a
implementação de diferentes arquiteturas de controle nas células, possibilitando assim a
redução do tempo de finalização de um projeto de uma célula e/ou uma adaptação necessária,
atendendo assim uma eficiência desejada.

Diante do apresentado, a motivação encontrada para o desenvolvimento deste trabalho


de pesquisa deve-se ao fato da necessidade de uma metodologia para a concepção e
implementação de células robotizadas, visando permitir de forma mais rápida e com
significativa redução de custos, a integração mais adequada das tecnologias que compõem a
mesma, tornando a célula mais flexível e integrada à ambientes automatizados.

1.3 Objetivos do Trabalho

O objetivo do presente trabalho é a apresentação de metodologias de Prototipagem de


Células Flexíveis Robotizadas com ênfase em sua Integração em Ambientes Automatizados,
através de ambiente voltado à capacitação e desenvolvimento de projetos de integração na
área de automação industrial, onde os principais conceitos possam ser verificados e
posteriormente implementados e validados na prática, fornecendo subsídios para a análise e
estratégias para concepção dessas aplicações. Esses procedimentos incluem automação de
procedimentos, especificação, e desenvolvimento de ferramentas para inicialização, correção
de posicionamento e calibração de ferramenta de trabalho.
26

Neste trabalho de pesquisa são apresentadas ferramentas para prototipagem rápida de


células robotizadas utilizando-se o conceito de instrumentação virtual, que deverá permitir a
implementação de novas arquiteturas de processos para sistemas mecatrônicos, a fim de torná-
los mais precisos e eficientes na execução de tarefas.

Conseqüentemente, esta tese de doutorado pretende disponibilizar uma ferramenta de


fácil acesso e que faça com que o projetista tenha seu foco no assunto desenvolvido e não em
como implementar sua solução. Para validação final deste trabalho será realizada a
modelagem de uma Plataforma Robótica de três graus de liberdade com a função de
apresentar o posicionamento de uma peça a ser trabalhada e para ser integrada a uma célula
robotizada constituída de dois robôs industriais que trabalham num sistema colaborativo
através da web ( Fig. 1.1 ).

Figura 1.1: Integração de Célula de Manufatura – LAIR

Com a utilização desta ferramenta, diferentes técnicas de integração poderão ser


facilmente implementadas, testadas e validadas, permitindo verificar os seus desempenhos
com diferentes variações de parâmetros de controle. Esses procedimentos de prototipagem
rápida para a integração de células flexíveis robotizadas baseados em instrumentação virtual
permitem a realização de grande parte do projeto dentro de um ambiente de instrumentação
virtual, diminuindo tempo de projeto e custos envolvidos durante a sua fase de concepção.
27

1.4 Delineamento do Trabalho

O desenvolvimento deste trabalho de pesquisa envolve o Laboratório de Automação


Integrada e Robótica (LAIR) do Departamento de Sistemas Integrados da Faculdade de
Engenharia Mecânica da UNICAMP e a National InstrumentsTM, onde foram realizados ao
longo dos últimos anos diversos projetos conjuntos de parceria e pesquisa, com ênfase na área
de implementação de dispositivos mecatrônicos utilizando conceitos de instrumentação virtual
baseada em LABVIEWTM. A integração desses projetos de forma a constituírem uma célula
flexível robotizada, permitiu testar e validar e propor metodologia para o desenvolvimento de
células robotizadas que poderão ser aplicados em diferentes situações.

A partir da realização deste projeto de Pesquisa torna-se possível o integração de


Células Robotizadas, utilizando os conceitos de Prototipagem Rápida, permitindo assim, o
desenvolvimento, simulação e implementação de células flexíveis robotizadas.

1.5 Estrutura do trabalho

Esta tese de doutorado tem como proposta validar uma ferramenta que permita a rápida
integração de dispositivos mecatrônicos para operação em conjunto formando uma célula
robotizada e que permita uma grande flexibilidade no uso dos diversos tipos de controle
disponíveis. Para atingir os objetivos delineados, este projeto foi dividido nas seguintes
etapas:

No Capítulo 1 desta tese foram introduzidos os objetivos e apresentada a estrutura geral


proposta para o desenvolvimento deste trabalho de pesquisa.

No Capítulo 2 é realizado uma pesquisa bibliográfica aprofundada direcionada a


prototipagem rápida de células robotizadas de manufatura, com ênfase nos procedimentos
necessários para a sua integração, que envolve procedimentos de identificação, calibração,
inicialização (startup), projeto e desenvolvimento de dispositivos robóticos e geração de
trajetórias off-line, assim como também as principais etapas que envolvem este importante
conceito para a integração de dispositivos mecatrônicos, sistemas de supervisão e controle
industrial e redes de comunicação baseados no uso de instrumentação virtual.
28

No Capítulo 3 são descritas ferramentas direcionadas ao controle e automação de


células robotizadas, através do desenvolvimento de modelo matemático para o
posicionamento cinemático de um manipulador robótico numa célula automatizada e
procedimento de automação e integração de dispositivos numa célula automatizada.

No Capítulo 4 são apresentados diferentes estudos de casos envolvendo as


metodologias de integração de dispositivos automatizados e sistemas robóticos utilizando
ferramentas de prototipagem baseadas no ambiente LabVIEWTM, constituindo assim uma
célula flexível robotizada integrada. Foi utilizado o conceito de instrumentação virtual e
ferramentas descritas nos capítulos anteriores para integração de controle de dispositivo
mecatrônicos dentro da célula. São apresentados estudos de casos baseados na implementação
de uma Plataforma de Stewart, desenvolvimento do sistema de acionamento e controle de um
dispositivo robótico cartesiano (PPP), integração cooperativa de dois robôs industriais com
um dispositivo de posicionamento (PRR) e uma célula automatizada de montagem e inspeção
de produtos. Esses exemplos práticos foram implementados no Laboratório de Automação
Integrada e Robótica da UNICAMP e no final deste capitulo são apresentados os resultados
e discussões, demonstrando pelos resultados obtidos que o ambiente escolhido é eficaz e
eficiente para a solução proposta.

O Capítulo 5 aborda metodologias para automação e integração de dispositivos


robóticos em células automatizadas, com ênfase na arquitetura operativa e comando, sistema
de supervisão e controle baseado em rede de comunicação, e sistema de diagnóstico, controle
de gestão e produção, constituindo assim o conceito de célula flexível robotizada integrada.
São apresentados estudos de casos baseados na implementação de dispositivo mecatrônico
PRR colaborativo integrado a uma célula robotizada, metodologia de posicionamento de
robôs em células robotizadas e integração de uma célula robotizada cooperativa através da
WEB.

Finalmente, no último capítulo deste trabalho, são apresentadas as conclusões e


perspectivas pertinentes ao desenvolvimento deste trabalho, bem como o uso de novas
ferramentas do ambiente que justificam ainda mais a escolha do mesmo para soluções com
prototipagem de células flexíveis robotizadas.
29

Capítulo 2

Revisão Bibliográfica

2.1 Introdução

Este capítulo apresenta uma revisão de conceitos abordando a prototipagem rápida de


células flexíveis de manufatura, com ênfase nos procedimentos necessários para a sua
integração, que envolve procedimentos de identificação, calibração e startup, com ênfase
ainda no projeto e desenvolvimento de dispositivos robóticos e geração de trajetórias off-line,
referente às áreas de integração de dispositivos mecatrônicos, instrumentação virtual e redes
de comunicação. Também serão apresentados os conceitos das diversas etapas de
desenvolvimento de uma célula robotizada e as ferramentas utilizadas neste processo.

2.2 Utilização da Prototipagem Rápida em Automação

Nos dias atuais, a evolução tecnológica está direcionando ao desenvolvimento de


células flexíveis de manufatura integrando diferentes dispositivos robóticos em função de
necessidades específicas da área de engenharia, acarretando em alterações drásticas na
concepção de um projeto de uma célula automatizada no que diz respeito às evoluções do
projeto e concepção mecânica, sistema de acionamento e de controle. Como exemplos,
podemos citar a intensidade crescente de componentes eletromecânicos inteligentes, de
máquinas automatizadas, de veículos com grande número de sensores e eletrônica embarcada
e de dispositivos mecânicos de precisão.

Essas novas células robotizadas emergem da combinação apropriada dos dispositivos


mecatrônicos e do processamento em tempo real dos sistemas de controle e tratamento de
informações, através da implementação de diversificadas funções de controle embarcadas e
integradas à célula automatizadas.
30

Um fator de grande importância industrial consiste na redução de tempo de


desenvolvimento de um produto com a diminuição do número de etapas, gerando a produção
de novos e diferenciados produtos. Isso é indispensável no mundo globalizado e
particularmente necessário nas indústrias de alta tecnologia, como por exemplo, no que diz
respeito à implementação de controladores cada vez mais rápidos e eficientes.

Muitos processos e produtos técnicos nas diferentes áreas da engenharia, principalmente


na engenharia mecânica e elétrica, apresentam uma integração crescente dos sistemas
mecânicos com processamento da eletrônica digital e de informação. O seu desenvolvimento
envolve a busca de uma solução otimizada entre a estrutura mecânica básica, o sistema de
sensoriamento e o elemento de atuação e controle, através do processamento automatizado de
informações e controle global do sistema.

Tudo isso acarretará no desenvolvimento e utilização de ferramentas para o projeto


simultâneo dos sistemas mecânicos e hardware de acionamento e controle, através da
implementação do software e funções de controle embarcadas dentro de um ambiente de
simulação, tendo como resultado e principal objetivo a eliminação da totalidade ou parte de
protótipos intermediários e a geração de um componente ou um sistema integrado de controle.
Para tal propósito descrito existe um conceito atual denominado prototipagem rápida de
sistemas mecatrônicos.

A prototipagem rápida é uma ferramenta que permite a construção de protótipos de uma


maneira econômica e segura. Um conceito de prototipagem rápida utilizado anteriormente
referia-se a construção de protótipos de peças mecânicas a partir de um projeto desenvolvido
em CAD (Computer Aided Design) ou da implementação de componentes eletrônicos em
FPGA’s a partir de um CAD de eletrônica. Mais recentemente, esse conceito é utilizado de
forma mais ampla, envolvendo a concepção de todo um projeto de um sistema mecatrônico
desde as fases de modelagem, simulação e arquitetura de controlador até a sua implementação
final em hardware dedicado.

Assim sendo, a prototipagem rápida tem como objetivo a geração automática do código
equivalente ao controlador para testar os células reais, resultando em diminuição nos custos
de implementação de um controlador, principalmente se esse for desenvolvido para um
projeto específico, ou seja, a prototipagem rápida é uma ferramenta que possibilita a
31

construção de protótipos de uma maneira econômica e segura, onde hardware pode ser
implementado num sistema embarcado (embedded system) a partir de componentes virtuais.

Nos dias atuais o conceito de Prototipagem Rápida envolve a concepção de todo o


projeto de um sistema mecatrônico através de ferramentas colaborativas, desde as etapas de
modelagem, simulação e arquitetura de controlador, até a sua implementação final em
hardware dedicado. Este conceito pode ser estendido à implementação em ambiente virtual do
modelo do sistema (modelagem cinemática e dinâmica), simulação e hardware de supervisão
e controle.

2.2.1 Aplicações em Engenharia da Prototipagem Rápida

Inicialmente, o conceito de prototipagem rápida possuía um vínculo muito forte


relacionado à área mecânica, associado sempre a construção de peças mecânicas a partir de
um projeto desenvolvido em CAD (Computer Aided Design). A Fig. 2.1 apresenta um
exemplo de aplicação da técnica de prototipagem rápida na concepção de um dispositivo
mecatrônico.

Figura 2.1 – Concepção de um dispositivo mecatrônico desenvolvido em CAD.


32

Este conceito foi estendido a outras áreas da engenharia, como para sistemas
eletrônicos embarcados, como acontece no caso de aplicação do conceito de Hardware In the
Loop (HIL), baseado na implementação de componentes eletrônicos em FPGA´s a partir de
um CAD dedicado.

A Fig. 2.2 exemplifica a implementação do HIL em ambiente de simulação


MathWorks®, utilizado para validação e testes do modelo físico em estudo, e implementação
automática do hardware de controle a partir deste ambiente de prototipagem, permitindo
assim, sua validação e testes.

Figura 2.2 – Hardware In the Loop através do Mathworks®.

As aplicações do HIL são utilizadas para avaliar e validar os elementos desenvolvidos


por um novo sistema, possibilitando assim, testar esses elementos, antes de concretizar o
sistema real, a partir unicamente da simulação do resto do sistema. Os componentes do
hardware testados respondem aos sinais enviados pelo computador e simulam o resto do
sistema, como se encontrassem dentro de um sistema real.
33

Outra área que abrange o conceito de prototipagem rápida é a implementação de


instrumentos virtuais, muito úteis na implementação de controle de sistemas mecatrônicos
através de software, hardware e Controladores Programáveis para Automação (PAC).

2.2.2 Principais Vantagens da utilização de Prototipagem Rápida

Dentre as principais vantagens dos sistemas de prototipagem rápida é que após a


simulação do modelo virtual do sistema, o sistema total ou partes desse modelo poderão ser
facilmente trocados pelo hardware de controle real para validação e testes do modelo, de
modo que o protótipo virtual se transformará num produto muito próximo do real,
simplificando etapas de concepção, validação e testes. Conseqüentemente, após a fase de
simulação do sistema, que deverá incluir o modelo virtual do hardware, esta parte do modelo
poderá ser trocada pelo hardware ou sistema real, possibilitando assim que este elemento
passe ser integrado no modelo de simulação virtual e possibilitando o estudo do
comportamento do novo componente com o resto do sistema, em particular o estudo do
comportamento global do sistema.

2.2.3 Descrição das Etapas para a Prototipagem Rápida

A implementação das diferentes etapas relacionadas à prototipagem rápida de um


sistema mecatrônico deverá seguir a orientação do modelo ciclo em V (Isermann, 2005), que
é uma metodologia para concepção e desenvolvimento para sistemas mecatrônicos,
freqüentemente utilizada para o projeto e concepção de Sistemas Automatizados (Fig. 2.3).

O ciclo de desenvolvimento de um produto sintetiza as diferentes etapas associadas à


concepção de um produto.

Ele é composto de uma fase inicial: Projeto e Concepção que abrange requisitos,
especificações, modelo, componentes e prototipagem e uma segunda fase de implementação
final: Integração de Sistemas que abrange a integração final a nível hardware e software,
testes e certificações, produção, controle e supervisão.
34

Figura 2.3– Ciclo em V (Isermann, 2005).

Dentre as principais vantagens da utilização de Sistemas de Prototipagem Rápida para a


concepção de produtos podemos destacar:

 Detecção mais rápida de possíveis erros decorrentes da fase de implementação de


um projeto, acarretando um menor custo de correção e/ou modificação do projeto,
 Concepção dentro de um ambiente de simulação e prototipagem comum,
acarretando de tal modo na economia no desenvolvimento do projeto atual e de
futuros projetos,
 Ambiente apropriado para Engenharia Colaborativa, com forte integração e
conceito de equipe de trabalho.

Como principais resultados da utilização de Sistemas de Prototipagem Rápida podem


ser destacados:
35

 Melhor produtividade, acarretando menores atrasos, custos de desenvolvimento


reduzidos e uma melhor qualidade.
 Busca de ambiente de integração único, possibilitando o cálculo cientifico,
modelagem de sistemas e simulação, análise de dados e visualização, e
implementação de software embarcado em tempo real.

Atualmente, os principais softwares tradicionais de modelagem e simulação de sistemas


mecânicos e/ou eletrônicos direcionaram á área de prototipagem rápida em mecatrônica, com
módulos e bibliotecas direcionadas a aplicações no campo automobilístico, indústria
aeronáutica e aeroespacial, etc. Esses ambientes de prototipagem rápida permitem a
simulação, implementação e testes num ambiente cooperativo integrado. Dentre os principais
aplicativos utilizados na indústria, podemos destacar dentre os mais utilizados os seguintes:
SolidWorks, LabVIEW da National Instruments (NI), DSpace, AMESim, Mathworks
(Matlab-Simulink), Altera, RobotStudio da ABB, RobCAD, e outros.

2.3 Modelagem e Integração de Células Robotizadas em Automação


Diferentes aplicações industriais envolvem a utilização de células flexíveis robotizadas
em ambientes de manufatura, agregando novas tecnologias em automação da manufatura,
com o objetivo de trabalhar os conceitos de modularidade, comunicação de dados,
processamento em tempo real, otimização de processos, gerência da qualidade, gestão
tecnológica e integração.

Manipuladores robóticos podem ser utilizados em diversas aplicações industriais por


apresentarem uma elevada gama de capacidades e funcionalidades. No entanto, para que seja
realizada uma dada operação são necessários sistemas auxiliares: sistemas de movimentação
linear/angular, ferramentas, máquinas de produção e produtos.

Uma célula robotizada pode ser descrita como uma área de trabalho devidamente
estruturada com um objetivo de produção comum, onde as tarefas são distribuídas (Fig. 2.4),
compartilhadas entre diferentes sistemas automatizados interligados entre si, na qual estará
um ou mais robôs, permitindo assim a otimização e realização de atividades colaborativas.
Para que se torne possível a integração e coordenação dos diversos equipamentos com as
36

atividades a serem realizadas torna-se indispensável um planejamento do layout da célula


robotizada.

Figura 2.4 – Exemplo de Célula Robotizada.

2.3.1 Características de uma Célula Robotizada e Exemplos de Aplicação


Dentre os principais sistemas que uma célula robotizada (Abreu, 2001) deve possuir os
seguintes sistemas:
• Alimentação e remoção de produtos: permitem a alimentação do produto, onde após a
operação, deverão de ser retirados através do sistema de remoção;
• Posicionamento do produto: responsável pela colocação do produto no local apropriado
para que possa ser realizada a operação de acabamento;
• Segurança: referem-se a sistemas que garantem a proteção do equipamento e operador;
• Supervisão e controle de operações: poderá ser realizado através de um computador
responsável pela supervisão e gerenciamento do processo, informando ao operador sobre os
diferentes estados da célula;
• Robô industrial com ferramenta de trabalho: destinado a realizar a tarefa principal;
• Inspeção: sistema para avaliação do produto, ou seja, irá permitir comparar o resultado com
um produto de referência.
A Fig. 2.5 apresenta dois exemplos de aplicação de células robotizadas em Automação
para paletização, o primeiro através da utilização do software de programação off-line ABB
RobotStudio™ para uma célula virtual de paletização desenvolvida para a simulação e
aprendizado, e desenvolvimento de projeto a partir de um ambiente virtual de prototipagem
em robótica, e o segundo através de uma célula de soldagem robotizada de paletização de
vidros voltada a indústria automobilística. (Pinotti e Amaral, 2006).
37

a) Paletização (programação off-line) b) Soldagem Robotizada


Figura 2.5: Exemplo de Células Robotizadas (Pinotti e Amaral, 2006).

As células robotizadas podem ser classificadas conforme a configuração dos


dispositivos robóticos em relação aos outros dispositivos que auxiliam as tarefas numa célula
robotizada, ou seja, um robô em relação a sua célula de trabalho poderá ser centralizado,
alinhado ou móvel.

O conhecimento e estudo prévio destes diferentes tipos de configuração torna-se


essencial antes de sua implementação em uma planta industrial, podendo estas células
incorporar parte do layout da fábrica (Koren, 1987).

Na configuração centralizada, o robô localiza-se no centro da célula e o equipamento


auxiliar é colocado à sua volta (forma circular), como ilustra a Fig. 2.6. Esta configuração vai
permitir que o robô realize tanto uma operação de produção, quanto uma tarefa de
alimentação ou remoção de um produto. Este tipo de configuração é muito utilizado nas
indústrias de fundição, onde o robô é encarregado de remover o produto do molde (depois de
realizar o ciclo completo de fundição) e, posteriormente, posiciona o produto para um banho
de têmpera, movimentando assim a peça de uma operação para outra (Hunt, 1983).
38

Figura 2.6 – Robô centralizado na célula.

Na configuração onde o robô se encontra localizado ao longo de uma linha de


produção (alinhado), o mesmo executa uma tarefa pré-destinada no momento em que o
produto chegue numa posição pré-definida para a sua atuação. Nesta configuração
normalmente é utilizado mais do que um robô na mesma linha de movimentação. (Groover,
1996).

Outra possibilidade cada vez mais utilizada é dar capacidade ao robô de se


movimentar no interior da célula em direção aos diferentes postos de trabalho. Esta solução de
configuração é normalmente é realizada integrando ao dispositivo robótico de uma base
móvel, que poderá também ser constituída por um sistema de carris, que poderão estar ou não
suspensos.

A configuração móvel torna-se muito útil quando o robô tem de atuar em diversas
máquinas de uma célula de manufatura com ciclos elevados de produção. Neste caso é
imprescindível a realização de um estudo de design associado a esta configuração, com a
determinação do número de máquinas de produção para cada robô, dado que o principal
objetivo é evitar a existência de possível tempo morto nas máquinas de produção (Hunt,
1983).
39

2.3.2 Prototipagem Rápida em Células Flexíveis de Manufatura


O conceito de prototipagem rápida poderá ser estendido à implementação de células
flexíveis robotizadas (Fig. 2.7), permitindo assim uma integração entre os diferentes
dispositivos em células automatizadas de manufatura (Computer Integrated Manufacturing).
Esta ferramenta permitirá o correto tratamento das etapas necessárias à integração dos
equipamentos de uma célula robotizada de forma rápida e precisa.

Figura 2.7 – Prototipagem de uma Célula Flexível de Manufatura

Dentre, os fatores mais críticos desta integração, como por exemplo, os procedimentos
de inicialização, posicionamento e calibração de ferramentas, poderão ser realizados de forma
otimizada, permitindo assim uma maior flexibilidade da célula robotizada.

2.3.3 Ferramentas Matemáticas para Automação e Integração de Células Robotizadas

Diferentes ferramentas matemáticas poderão ser utilizadas para a descrição do


comportamento sequencial de uma célula de manufatura robotizada, que incluem
fluxogramas, diagramas de variáveis de estado, Rede de Petri (RdP/ diagrama trajeto-passo e
o GRAFCET. A seguir serão descritas duas ferramentas muito utilizadas: RdP e o GRAFCET.

2.3.3.1 - Redes de Pétri (RdP)

A metodologia de modelagem de Sistemas Dinâmicos a Eventos Discretos (SED)


utilizando Redes de Pétri (RdP) foi proposta pelo matemático alemão Carl Petri, no inicio dos
40

anos 60, inicialmente direcionado às comunicações com autômatos, originando


posteriormente, duas grandes linhas de desenvolvimento nas áreas de Ciências da
Computação e em Engenharia de Sistemas padronizando as RdP (Huber, Jensen e Shapiro,
1990).

Uma RdP pode ser definida por meio de conjuntos, funções e também por grafos, de
maneira que suas propriedades possam ser obtidas pela teoria dos conjuntos e/ou pela teoria
dos grafos. Ela apresenta uma linguagem formal que permite a modelagem de sistemas
dinâmicos discretos com grande poder de expressividade, permitindo representar com
facilidade todas as relações de causalidade entre processos em situações de: seqüencialidade,
conflito, concorrência e sincronização (Matos e Santos, 2004).

Ao mesmo tempo, são ferramentas gráficas e matemáticas de modelagem para descrição


e/ou especificação de sistemas que apresentam um bom nível de abstração em comparação à
outros modelos gráficos, possibilitando ainda a verificação do sistema especificado,
permitindo assim, a modelagem de sistemas paralelos, concorrentes, assíncronos e não-
determinísticos (Melo e Sobreira, 2003).

Uma RdP poderá ser utilizada como uma ferramenta auxiliar de análise e sintese, sendo
que nesta abordagem, outras técnicas e formalismos poderão ser utilizados para especificar o
sistema. Com base nessa especificação, o sistema poderá ser modelado através de uma RdP
para posterior analise, e caso sejam detectados problemas, procedem-se as alterações na
especificação e o ciclo será repetido até que mais nenhum problema seja detectado. A Fig. 2.8
exemplifica este procedimento.

Descrição Rede
do Modelagem de Execução
sistema Petri Implementação
/
simulação
Revisão Propriedades Análise
do sistema

Figura 2.8 Utilização de redes de Petri no modelamento e análise de sistemas.

Sua utilização na Modelagem de Sistemas Automatizados apresenta como principais


vantagens à possibilidade de captura das relações de precedência e os vínculos estruturais dos
sistemas reais; serem expressas graficamente, permitindo assim, a modelagem de conflitos e
filas; o fato de sua praticidade de utilização e apresentar um fundamento matemático e
41

prático; como também admitir diversas variações (RdPs temporizadas, coloridas, estocásticas,
de confiabilidade, etc.).

2.3.3.2 - SFC (GRAFCET)

A diversidade de dispositivos mecatrônicos que integram uma célula robotizada, exige


a utilização de ferramentas matemáticas que permitem a descrição e documentação das tarefas
de trabalho dos diferentes elementos que integram uma planta automatizada.
Consequentemente, o problema poderá ser dividido em várias etapas, tornando-o mais simples
e facilitando a visualização do sequenciamento de operações, alteração de especificação e
detecção de falhas conceituais na planta.

O GRAFCET (Grafo de Comando Etapa-Transição) teve sua origem na nos anos 70,
França pela AFCET (Association Française pour la Cybernètique, Economique, Technique),
sendo considerado uma particularização das RdP, pois as redes possuem uma possibilidade de
aplicações bem superior às que estão restritos os comportamentos cíclicos das máquinas e
sistemas automatizados.

Através do Diagrama Funcional Sequencial, o SFC (Sequential Function Chart),


também conhecido como GRAFCET (Grafo de Comando Etapa-Transição), oferece inúmeras
vantagens aos integradores em automação, principalmente na modelagem de problemas
complexos que envolvem a integração de dispositivos robóticos numa célula robotizada, pois
esta ferramenta vai permitir a estruturação do modelo proposto em várias partes, tornando
simples e estruturado o modelo proposto, facilitando a visualização do sequenciamento das
operações, alteração de especificação funcional e detecção de falhas conceituais no programa.

Através do GRAFCET torna-se possível a representação do Sistema Automatizado,


onde são aplicadas regras de evolução comportamental do mesmo, permitindo assim uma
visão dinâmica do mesmo.

A Fig. 2.9 exemplifica uma aplicação do uso do GRAFCET na operação de trabalho


de um dispositivo robótico numa célula robotizada. Este dispositivo realiza a operação de
montagem de dois tipos peças diferente em duas posições distintas pré-definidas, em função
de ordens definidas a partir de um sistema supervisor. Neste exemplo, o robô poderá executar
duas tarefas pré-programadas associadas às condições lógicas (transições) correspondente a
42

operação de montagem da peça 1 ou 2, onde o robô efetuará as trajetórias associadas a esta


operação, e quando finalizar, deverá a retornar a sua configuração inicial, aguardando nova
condição de montagem (peça 1 ou 2), e assim sucessivamente.

Figura 2.9 Exemplo de GRAFCET.

2.3.4 Metodologia para Prototipagem Rápida de uma Célula Robotizada

As diferentes fases necessárias para a implementação de uma célula robotizada deverá


seguir várias etapas para a concepção de um sistema de supervisão e controle utilizando a
técnica de prototipagem rápida.

Para a diminuição de custos, a maior parte da concepção resulta na realização de


simulações antes da implementação real. Assim, o desenvolvimento de um ambiente virtual
que permita analisar o melhor desempenho da técnica de controle a ser implementada se faz
necessário.

O fluxograma apresentado na Fig. 2.10 mostra das diferentes fases que envolvem a
concepção de uma célula robotizada a partir de um simulador virtual, que poderá ser
generalizada para qualquer modelo de célula de manufatura integrada de dispositivos
mecatrônicos.
43

Figura 2.10 Fluxograma das diferentes fases de implementação de uma Célula Robotizada.

2.4 Programação de Dispositivos Robóticos e Geração de Tarefas Off-line

A programação off-line de células robotizadas vem ganhando novos impulsos com o


desenvolvimento de tecnologias tanto em nível de hardware quanto software tornando-se cada
vez mais frequente a sua utilização na programação de robôs, aumentando de fato a
flexibilidade de elaboração de novos arranjos para sistemas produtivos, possibilitando uma
variedade ilimitada de cenários e funcionalidades dos elementos integrantes da célula.

Muitas aplicações de células robóticas envolvem processos de produção em massa,


como ocorre na soldagem robotizada em linhas automotivas, que não permite uma
reprogramação que acarretaria numa interrupção do processo produtivo. Contudo, em
aplicações que utilizam robôs no campo de pequenos e médios lotes de produção, onde o
tempo de programação possa ser vultoso, a utilização da programação off-line torna-se
essencial.

2.4.1 Programação Off-line e On-line

O desenvolvimento do conceito de programação off-line incluem grandes sofisticações


na unidade de controle do dispositivo robótico, melhorando a precisão de posicionamento, e
44

uso de novas tecnologias de sensores, e isto vêm proporcionando sua utilização de forma cada
vez mais frequente.

Na programação on-line o usuário manipula as peças-produtos, os dispositivos de


fixação e posicionamento, os robôs e seus periféricos e outros dispositivos em torno da célula
produtiva. O robô e todos os elementos da célula de trabalho são integrados e programados
com o auxilio do “Teach Pendant”. Nos dias atuais, a programação online é somente utilizada
para o posicionamento inicial do robô em sua célula de trabalho.

Na programação off-line, o usuário trabalha num ambiente virtual baseado em


modelagem gráfica do robô e dispositivos periféricos de sua célula de trabalho, onde através
de um modelo preciso do ambiente de trabalho implementado em CAD são realizadas todas
as operações de trabalho dentro da célula robotizada de forma que a programação seja rápida
e efetiva, permitindo possíveis correções e otimização de tarefas. A Fig. 2.11 mostra um
exemplo de robô atuando em sua célula de trabalho em ambiente virtual.

Figura 2.11 Simulação off-line de operações numa célula de trabalho.

Dentre as principais vantagens da programação off-line podemos destacar a efetiva


programação da lógica de programação e cálculos com as facilidades do “estado da arte” de
depuração, a construção de localização baseada no modelo com possibilidade efetiva de
45

identificação de localização, possibilidade de verificar e corrigir a programação através da


simulação e visualização, utilização de diferentes ferramentas de trabalho e permitindo ainda
um modelo bem documentado com possibilidade ainda de reutilização de dados obtidos no
CAD implementado.

Entretanto, o grande diferencial da programação off-line é que durante o planejamento


de células robotizadas não é necessário ter disponível os equipamentos para realizar a
programação, e o investimento na compra dos equipamentos necessários para a constituição
da célula só será realizado depois do estudo e otimização do processo, proporcionando assim,
uma redução significativa de gastos, e este é um principais motivos que atualmente as células
robotizadas estão sendo concebidas na forma off-line.

É importante destacar que a maior parte dos aplicativos de programação off-line


suportam ferramentas avançadas de programação contendo algumas facilidades para depurar
o programa, e ainda de suporte, como por exemplo, otimização do processo de soldagem,
montagem, pintura, planejamento da produção, projeto de produtos e otimização de “layout”,
coletando e supervisionando informações de um processo produtivo e construção de modelos
de robôs e direcionados a educação, formação e treinamento.

A programação denominada Híbrida (Trotman, 1988) consiste numa forma mais


abrangente de alternar os métodos de programação on-line e off-line, permitindo a melhor
utilização desses recursos, além de otimizar as técnicas de programação conforme
necessidade e facilidade de implementação de uma célula robotizada. Este modo de
programação subdivide o problema em duas partes: a obtenção da localização do robô
(posição e orientação) e sua lógica de programação (estrutura de controle, comunicação,
cálculos). A correta combinação de programação on-line e off-line vai proporcionar uma
redução de custo de produção.

A lógica de programação poderá ser desenvolvida de forma off-line com a efetiva


facilidade de depuração e simulação, onde as principais partes de comandos de movimentos
poderão ser criadas off-line pela reutilização dos dados obtidos em CAD e pela interação do
programador. Movimentos complexos para localização e colocação de peças dentro das
células robotizadas poderão ser programados on-line, ou seja, a utilização hibrida vai
46

proporcionar uma maior flexibilidade na produção. Após a verificação do programa do robô


em simulação, o mesmo será transmitido para a unidade de controle do robô.

2.4.2 Geração de Trajetórias para Robôs Industriais


Os geradores de trajetória podem ser classificados em on-line e off-line
(FREZZATTO, 2010). O gerador on-line executa as tarefas de interpolação e convergência
dos dados ao mesmo tempo em que a máquina esta funcionando, com isto, para conseguir
resultados satisfatórios, torna-se necessário ter algoritmos que apresentem alta velocidade de
processamento; ao contrario do gerador off-line, que realiza os cálculos dos perfis de
movimento sem que o dispositivo robótico esteja em funcionamento.

A Fig. 2.12 mostra um gerador de trajetórias que tem a função do processamento das
informações de contorno da peça a ser produzida, e cálculo dos perfis de movimento, que são
as referencias de entrada para o sistema de acionamento e controle das juntas do dispositivo
robótico.

Figura 2.12: Gerador de trajetórias.

Este gerador utiliza diferentes métodos para interpolar os pontos de posição e definir
os perfis de movimento (perfil de posição, velocidade, aceleração e jerk). Os métodos mais
utilizados para a interpolação dos pontos são Bezier, NURBS (Non-Uniform Rational B-
Splines) e splines. A Fig. 2.13 apresenta os perfis de movimento correspondentes a velocidade
47

em relação ao tempo, e suas derivadas como aceleração e desaceleração, além do jerk, que
representa as variações na aceleração.

Figura 2.13 - Perfis de Movimento para dispositivo robótico.

A geração de movimentos desempenha um papel fundamental no controle de um


dispositivo robótico, pois as trajetórias geradas devem não somente descrever o caminho da
ferramenta terminal do dispositivo, mas também apresentar perfis cinemáticos suaves de
forma a manter alta precisão de rastreamento e evitar excitar os modos naturais da estrutura
mecânica ou do sistema de controle (ERKORKMAZ E ALTINTAS (2000) apud
FREZZATTO, (2011)). Em termos de geração de trajetórias, a tendência em novos métodos
de otimização da trajetória da ferramenta são pesquisados, incluindo análise em superfícies de
forma livre, erros geométricos por sobre corte, otimização de energia em movimento da
ferramenta, desvios de superfície, adaptação da ferramenta e temperatura, e rugosidade
superficial (HARIK et al., 2012).

O gerador de trajetórias é um modulo importante no desempenho de um robô, pois


dependendo dos algoritmos de construção de perfis de movimento este conseguira as entradas
de referencia adequadas para o sistema de controle obtendo como resultado respostas
48

satisfatórias ao desempenho dinâmico. Devido a seu grau de importância podemos notar que
os métodos de interpolação necessitam cada vez mais de algoritmos que consigam otimizar e
melhorar os processos de análise de contorno, interpolação de pontos, e construção de perfis
de movimento.

MUNLIN e MAKHANOV (2012) apresentam um novo algoritmo de otimização de


trajetória o qual de forma iterativa varia os ângulos de rotação de dispositivo robótico. Este
método é utilizado devido à dificuldade de algoritmos de otimização que são baseados em
inserir os pontos em variações maiores de ângulo, mas com este novo algoritmo para inserir
os ângulos iterativamente diminuem as variações na trajetória.

O trabalho de SENCER e ALTINTAS (2008) projeta um algoritmo de planejamento


de otimização das referências das juntas visando minimizar o erro de contorno de superfícies
que ocorre no processo. Para este fim, utilizam-se trajetórias expressas sob a forma cúbica B-
Spline, onde os limites de velocidade, aceleração e jerk são colocados no ponto ótimo de
operação através da trajetória, assegurando assim uma maior suavidade e operação linear dos
drives, minimizando ainda o erro de seguimento de trajetória.

Podemos encontrar na literatura, referências de trabalhos em geração de trajetórias on-


line como os apresentados por WANG et al. (2009), que desenvolve um controlador com
interpolação por Spline, onde a curva de trajetória de posição é discretizada em tempo real.
SHEN et al., (2012) propõem métodos de compensação assíncrona on-line, para ajustar os
erros causados pela deformação térmica e geometria da máquina, utilizando uma
compensação de posição através de interpolação aproximada para a posição desde uma
trajetória por NURBS (Non-Uniform Rational B-Spline). Outros trabalhos utilizando NURBS
para a interpolação de trajetória foram realizados por LIU et al.( 2012) e LI (2011). O método
de planejamento de trajetória utilizando otimização da posição da ferramenta com método de
multiponto de usinagem é apresentado no trabalho de RUFENG et al. (2010).

2.5 Visão Robótica


A utilização de um sistema de Visão Automatizada é cada vez mais frequente numa
célula de manufatura robotizado, onde já se encontram disponíveis no mercado diversos
sistemas dedicados para Visão Robótica e processamento de imagens, contendo aplicativos
49

com um grande numero funções de visão, que poderão ser implementadas em outros
softwares de Instrumentação Industrial.

O LabVIEW da National Instruments (NI) possui diversas funções dedicadas para


aplicações industriais tais como sistemas de inspeção, alinhamento, identificação e medição
visual. Estes ambientes possuem interatividade para configurar, testar e distribuir aplicações
de visão sem muita programação, trabalhando diretamente com muitas interfaces de aquisição
de imagem disponíveis no mercado.

Dentre os critérios de escolha de um sistema de visão industrial, dever-se considerar a


rapidez e eficiência na sua manipulação e implementação, além da inúmera quantidade de
recursos disponíveis nestes sistemas, que cobrem grande maioria das aplicações na área de
Mecatrônica.

A escolha de um software de visão adequado para uma aplicação além da relação custo-
benefício envolvido, devera seguir as algumas recomendações tais como a escolha da câmera,
o fator de escala do hardware, um software de simples utilização que possibilite implementar
algoritmos com exatidão e desempenho desejado, apresentando ainda facilidade de integração
com outros dispositivos.

2.5.1 Características do Sistema de Visão


A escolha da câmera e do software de visão associado deverá atender a que melhor
atende aos requisitos de sua aplicação. Recomenda-se a utilização de câmeras digitais com
uma resolução superior ao padrão VGA, e taxa de aquisição maior que 30 frames/s e o
hardware de aquisição adequado a aplicação. As ferramentas de hardware e software da
National Instruments (NI) são compatíveis a grande maioria de câmeras disponíveis no
mercado.

O fator de escala da câmera é outro importante aspecto a ser considerado, pois através
do mesmo podemos melhorar a qualidade de imagem ou realizar outros tipos de medição. O
driver IMAQ da NI suporta a maior parte das interfaces de aquisição de imagens e se
comunicando com a maior parte de câmeras do mercado, através de uma interface de fácil
utilização. Uma boa opção é a utilização de câmeras IEEE1394 (FireWire), que comunica e
adquire imagens sem a necessidade de uma placa de aquisição de imagens.
50

Após a fase de aquisição da imagem, para o processamento de imagens devem-se


utilizar um hardware de processamento de imagens que permita implementar algoritmos
eficientes. Devido à complexidade que envolve o tratamento de imagem, a tendência das
aplicações atuais é não precisar de uma linguagem de programação, tal como o C, Delphi, ou
LabViewTM para construir um sistema completo de Visão Robótica, mas um software
configurável que permita implementar um ambiente de prototipagem interativo, de fácil
navegação, configuração, e integração em aplicações que envolvem Visão Robótica.

O Vision Builder da NI é um aplicativo que possui grande variedade de bibliotecas


dedicadas à Visão Robótica, dentre elas, o reconhecimento de cores, padrões e de caracteres
(OCR), leitores de código de barras tipo matricial, dentre outros. Além da aquisição de
imagens de uma câmera, ele vai permitir a implementação de diversas funções de visão
disponibilizadas numa aplicação, disponibilizando também o tempo de execução de cada
função, e ainda comunicar os resultados diretamente com outros dispositivos utilizando
protocolos industriais, tais como ethernet, serial ou E/S digitais, permitindo assim, a inspeção
industrial. Após o desenvolvimento do aplicativo baseado em visão robótica, o mesmo poderá
ser embarcado automaticamente ao sistema de controle industrial, aquisição de dados ou
controle de movimento.

2.5.2 Características de um Algoritmo de Visão Robótica


Dentre as diversas características a serem consideradas na escolha de um software de
Visão Robótica, o mais importante é ter uma ferramenta de software que possa medir com
exatidão as características do objeto em subpixels, assim, o software deverá ser confiável,
independente da velocidade de processamento do computador ou da resolução em pixels da
câmera utilizada.

Dentro desse contexto Vision Development e Vision Builder da NI disponibilizam ao


usuário diversas funções de tratamento de imagem, que possuem grande precisão em
subpixels para interpolar localizações, distâncias e medições com alta resolução (cerca de
1/10 de pixel e 1/10 de grau). Os principais exemplos de aplicação industrial de Visão
Robótica (Fig. 2.14) são descritos a seguir:

a) Tratamento e melhoria de imagens: Utilização de ferramentas de filtragem para


delimitar bordas, remover ruídos, ou extrair informação de freqüência com exatidão. A
51

utilização de ferramentas de calibração de imagem permitirá a remoção de erros de não-


linearidade e perspectiva causados por possíveis distorções da lente ou posicionamento da
câmera. As ferramentas para calibração de imagem também poderão ser utilizadas, durante
uma medição, para transformar os valores em pixels em outras grandezas de medida
(microns, milímetros ou milhas).
b) Verificação de presença: Este é o tipo mais simples de inspeção visual, onde para
verificarmos algum tipo de característica de um determinado produto, onde se pode utilizar
qualquer ferramenta de cor, reconhecimento de padrão ou histograma. Uma verificação de
presença sempre resulta em uma informação lógica (sim/não, passa/falha, certo/errado,
etc.).
c) Localização de padrões: Aspecto importante no alinhamento de objetos ou na
determinação do deslocamento dos objetos, servindo de padrão para todas as inspeções
subseqüentes. Para localizar padrões, estas ferramentas deverão permitir a detecção de:
borda, escala de cinza, forma, geometria e padrões de cor. Estas ferramentas retornam a
posição do objeto (X, Y) e o ângulo de rotação em até 1/10 de pixel.
d) Medições: Ferramenta muito freqüentemente utilizada, onde normalmente utiliza-se a
mesma com a função de detecção de borda, análise de partícula ou geometria para medir
uma distância, diâmetro, quantidade, ângulos e área. Se estivermos calculando o total de
número de células em um microscópio, ou o ângulo entre duas bordas de um sistema de
freio, estas ferramentas sempre retornam um número quantificando a medida.
e) Identificação de partes: Ferramenta importante para inspeção de conformidade,
rastreabilidade e verificação. Métodos diretos de identificação incluem leitura de código de
barras, dados ou OCR que permitirão a classificação de objetos.

Devemos considerar como principais requisitos na utilização um sistema de Visão


Robótica em uma aplicação industrial a exatidão, facilidade de utilização e tempo de
processamento, e a partir dessas características será possível o desenvolvimento de aplicativos
e ferramentas de inspeção eficientes para utilização.

Dentre os aplicativos de Visão Robótica, os softwares da NI são otimizados para ter o


melhor desempenho em qualquer possibilidade, resultando assim, em um dos mais rápidos
softwares do mercado.
52

a) Melhoria de imagem b) Verificação de Presença c) Localização de Padrões

d) Medições e) Identificação de Partes

Figura 2.14: Principais aplicações em Visão Robótica em Automação.

2.5.3 Integração com Outros Dispositivos


Em Automação Industrial, uma aplicação de visão está inserida como uma parte de um
grande sistema de controle, podendo necessitar de atuadores para selecionar produtos;
comunicar os resultados da inspeção para o controlador de um robô, CLP, ou Controlador
Programável para Automação; salvar imagens e dados em servidores de rede; ou comunicar
os parâmetros e os resultados de inspeção para uma interface de usuário local ou remota.
Freqüentemente, para aplicações em imagens científicas, você deve integrar visão com
estágios de movimento, sistemas de aquisição de dados, microscópios, óticos especializados e
trigger avançado.

No caso da NI, considerada um dos lideres do mercado em automação, controle


industrial, aquisição de dados e controle de movimento, os produtos de Visão Robótica
projetados para trabalhar com estes e outros componentes comuns. Assim, no caso de uma
aplicação que necessitemos comunicar com um CLP através de uma rede DeviceNet TM ou
com um microscópio através de uma porta USB, isso será facilmente implementado a partir
de um Sistema de Visão.
53

2.6 Identificação e Calibração de Dispositivos Robóticos em Células Automatizadas

A Fig. 2.15 apresenta uma célula de manufatura robotizada para montagem de carros de
diferentes modelos. O processo de automação exige o desenvolvimento de um conjunto de
procedimentos para calibração e identificação do posicionamento da carcaça do carro em
relação ao sistema de referência (palete de montagem), onde cada carro é fixo neste
dispositivo que se posiciona diante da célula robotizada.

Figura 2.15: Célula Automatizada.

O procedimento utilizado consiste no cálculo do posicionamento real dos dispositivos


robóticos que integram a célula robotizada, em relação a um determinado ponto de referência
(ponto de precisão), para o correto reposicionamento do referencial base do robô (medida do
erro do referencial do robô em relação ao ponto de precisão do palete de montagem).

Este procedimento ira permitir que posteriormente sejam utilizados o arquivos de


tarefas gerados através de um software de programação off-line, onde foi desenvolvido todos
os procedimentos de operação da célula robotizada, através de prototipagem rápida.

A Fig. 2.16 mostra uma proposta de metodologia implementada por Campos (2002)
para um sistema automatizado de calibração de robôs em um painel de montagem, através da
correção do erro de posicionamento do robô (cálculo do posicionamento real).

Esta metodologia consiste de um novo cálculo do zero de posicionamento (posição e


orientação da base do robô em relação ao palete do veículo), onde é gerado um arquivo de
correção de posicionamento da base do robô, que deverá ser corrigido posteriormente no robô,
54

alterando assim, a referência (posição e orientação) das trajetórias programadas anteriormente


no modo off-line.

Figura 2.16: Sistemática utilizada para cálculo de posicionamento do Robô.

O procedimento de calibração do dispositivo robótico na célula de trabalho vai exigir o


desenvolvimento de uma ferramenta universal de calibração, contendo um dispositivo de
fixação da haste de calibração, onde todo esse procedimento será realizado de modo manual.
Este procedimento tradicional possui um dispositivo de calibração constituindo de uma haste
de calibração com uma ponta de precisão, que irá permitir a aproximação e toque em
diferentes pontos do palete contendo furos de precisão.

No caso da aplicação exigir um procedimento automatizado, que vai ocorrer quando não
existir tempo morto numa aplicação, deverá ser implementado no robô um dispositivo de
Visão Robótica, com uma câmera com possibilidade de rotação em diferentes orientações,
permitindo que a mesma se adapte facilmente ao ambiente e espaço disponível de calibração.

2.7 Projeto, Desenvolvimento de Ferramentas Dedicadas para Dispositivos Robóticos

Numa célula robotizada deverão ser integradas ferramentas dedicadas para as aplicações
que envolvem a utilização dos robôs, e dispositivos robóticos integrados na célula de trabalho.
Como foi descrito anteriormente, um desses dispositivos é a ferramenta de calibração de um
55

robô. Como exemplo de outros dispositivos robóticos, podemos destacar os sistemas de


transferência, as esteiras de movimentação de peças, e os dispositivos robóticos móveis.

2.7.1 Ferramentas Dedicadas para utilização em Dispositivos Robóticos


A seleção da ferramenta de uma base de dados depende da operação de manufatura de
um robô numa célula robotizada. As principais operações realizadas por um dispositivo
robótico numa célula de manufatura são a Paletização (Fig. 2.17), a Montagem (Fig. 2.18), a
soldagem por pontos ou a arco continuo (Fig. 2.19), a usinagem (Fig. 2.20), o dobramento de
chapas (Fig. 2.21), a colagem de vidros automotivos (Fig. 2.22), Corte a Jato de água e a
Laser (Fig. 2.23), de Polimento (Fig. 2.24), de Desenhos (Fig. 2.25), de Pintura por
pulverização (Fig. 2.26), etc.

Figura. 2.17: Célula de Paletização de Vidros (indústria automobilística).

Figura 2.18: Célula de montagem.


56

a) Soldagem por Arco Contínuo.

b) Soldagem por pontos.


Figura 2.19: Célula de Soldagem.
57

Figura 2.20: Célula de Usinagem.

Figura 2.21: Célula de Dobramento de Chapas.

Figura 2.22: Célula de colagem de Vidros Automotivos.


58

a) Laser b) à Jato de água.


Figura 2.23: Células de Corte.

Figura 2.24: Célula de Polimento.

Figura 2.25: Célula de Desenhos


59

Figura 2.26: Célula de pintura por pulverização.

2.7.2 Controle de Juntas Robóticas

O sistema de controle de dispositivo robótico é realizado através de um hardware e de


um software dedicado à aplicação. Este sistema processa os sinais de entrada e converte estes
sinais em uma ação ao qual foi programado.

O software pode ser desenvolvido em um computador ou micro controlador, e o


hardware é constituído de motores, dispositivos de entrada, sensores e amplificadores de
potência, e nos sistemas de controle em malha fechada são baseados na utilização de sensores,
pois podem pertencer a um sistema de controle de malha fechada. A Fig. 2.27 apresenta sob a
forma de diagrama de blocos de controle de um dispositivo robótico (malha fechada).

Figura 2.27: Diagrama de Blocos do sistema de controle de um dispositivo robótico.


60

A principal vantagem de um sistema de controle em malha fechada é a realimentação


que faz com que a resposta do sistema seja insensível a presença de distúrbios, variações
internas dos parâmetros do sistema, ou comportamentos imprevisíveis.

Os sensores são dispositivos que detectam informações sobre o robô e do meio onde se
encontram imersos e as transmitem para o controlador do robô, através de sinal que vai
permitir a medição de uma grandeza física (força, posição, velocidade, etc.).

2.7.3 Estrutura de Controle e Modelagem de uma Junta Robótica

A arquitetura completa de acionamento e controle de uma junta robótica é apresentada


na Fig. 2.28.

a) Elementos associados à estrutura de controle

b) Função de Transferência associada.

Figura 2.28: Estrutura de Controle de uma Junta Robótica.


61

Um sistema de acionamento e controle é constituído dos seguintes elementos:

 Sistema de Acionamento: constituído do motor acoplado ao redutor e sensor de posição;

 Junta Robótica: malha individual de controle de posição para cada GL;

 Sensores de posição: colocado no eixo do motor da junta antes do redutor;

 Trajetória de referência: gerada para cada junta robótica, sendo constituída de um


arquivo de pontos; e,

 Malha de Controle: comparação da posição atual da junta, onde a informação do sensor


de posição irá gerar um erro que deverá ser minimizado pelo controlador de junta.

2.7.4 Desempenho de um Dispositivo Robótico

Para o desenvolvimento de um dispositivo robótico para ser integrado numa célula de


manufatura, torna-se imprescindível a análise de desempenho desse dispositivo considerando-
se as seguintes condições de funcionamento:

 Velocidade de Resposta: capacidade de movimentação de um lugar a outro durante um


curto intervalo de tempo, sendo de muita importância o torque e aceleração de cada junta;

 Estabilidade: associada ao tempo necessário para que cada junta atinja a posição
determinada com dada precisão. Para atingirmos uma condição de estabilidade, têm-se a
necessidade, muitas vezes, de se colocar elementos de amortecimento, e
consequentemente, eliminarmos oscilações; e,

 Precisão: medida do erro em relação a sua ferramenta de trabalho: associado à velocidade,


precisão e repetibilidade de posicionamento. A Fig. 2.29 ilustra o conceito de
repetibilidade e precisão no posicionamento da ferramenta de trabalho em relação a um
ponto objetivo.
62

Figura 2.29: Conceito de repetibilidade e posicionamento de precisão de posicionamento.

2.7.5 Hardware de Controle NI Control Motion

O hardware/software Control Motion da NI irá permitir a integração de diferentes


dispositivos constituintes do sistema de controle (controlador, driver de acionamento do
dispositivo e motores/sensores) e um aplicativo para o desenvolvimento da aplicação,
constituindo-se assim, como um elemento facilitador de integração (Fig. 2.30)

a) Elementos Constitu intes b) Tela típica do aplicativo


Figura 2.30: Control Motion da NI.

Esta plataforma de desenvolvimento é um integrador dos principais elementos


constituintes de um sistema de acionamento e controle mecatrônico, constituído dos seguintes
63

módulos: configuração, protótipo e ambiente de aplicação e desenvolvimento. A Fig. 2.31


apresenta os elementos básicos de um sistema de controle e as etapas necessárias para a
prototipagem rápida do dispositivo robótico utilizando a plataforma NI Control Motion.

As principais características do software de prototipagem Control Motion são


baseadas na sua interatividade com os diferentes elementos constituintes de uma malha de
controle, em termos de configurabilidade e programação. Este aplicativo é de fácil utilização e
interatividade com o usuário, não necessitando de nenhuma programação, e ainda possuí
grande flexibilidade e facilidade de integrarmos com outros componentes de um meio
automatizado.

a) Elementos Básicos de um Sistema de Controle.

b) Etapas de Prototipagem a partir do Software Control Motion.


Figura 2.31: Plataforma Control Motion da NI.

2.7.6 Software de Supervisão e Controle NI Control Motion


Um dos elementos essenciais de uma malha de controle é o gerador de trajetórias de
referências das juntas. O Ni Control Motion gera automaticamente um perfil de velocidade, a
64

partir do cálculo das trajetórias de referência para o movimento de cada junta robótica, a partir
de fácil interação com o usuário (Fig. 2.32).

Figura 2.32: Gerador de Movimentos de Juntas Robóticas

Podemos destacar outras funcionalidades do Control Motion, tais como o cálculo do


torque necessário para acionamento do drive ou amplificador do motor; a possibilidade de
implementação de um sistema de Supervisão e Controle que irá permitir o monitoramento
completo do sistema e gerenciamento de paradas de emergência; e finalmente a possibilidade
de implementar um controlador PID numérico para cada junta. A Fig. 2.33 mostra a tela típica
de desenvolvimento do aplicativo Control Motion

Figura 2.33: Assistente do software de prototipagem – Control Motion.

2.8 Sistemas de Supervisão em Células Robotizadas usando Instrumentação Virtual

O conceito de Instrumentação Virtual vêm transformando a implementação de células


robotizadas em Manufatura, e este conceito já vem atingido níveis de aceitação no mercado
bastante elevado, passando a ser usada em diversas aplicações industriais.
65

Instrumentos Virtuais são instrumentos definidos pelo usuário durante o


desenvolvimento de uma aplicação, permitindo desenvolver um software baseado nos
requisitos da mesma e necessidades do usuário, definindo o hardware de supervisão e controle
mais adequado a aplicação. Isto possibilitará uma redução significativa do tempo de
desenvolvimento da aplicação, além de projetar produtos de maior qualidade e menor custo.

O elemento fundamental da Instrumentação Virtual é ser centrado no aplicativo


(software) e sua interação com a internet, tornando-se assim uma arquitetura capaz de atender
características, adaptar-se a novas funcionalidades de um novo cenário de desenvolvimento de
produtos, tornando mais rápido o desenvolvimento de produtos a partir da utilização de um
ambiente gráfico de programação que dispõe de blocos gráficos interligados, tornando o
trabalho do programador muito mais rápido e fácil. Estes sistemas possuem as seguintes
características:

a) E/S modulares: projetadas para atender a qualquer tipo ou quantidade de sinais,


permitindo o monitoramento e controle de processos presentes nas fases de
desenvolvimento de um projeto;

b) Uso de plataformas comerciais: que envolvem a utilização de software, E/S modulares


e plataformas comerciais, assegurando o aproveitamento de tecnologias atuais e com
taxas de transferência de dados mais rápidas, possibilitando assim, que esta tecnologia
seja sempre atual, dispensando os altos investimentos feitos em processadores e
barramentos de dados e assegurando o desenvolvimento de produtos atuais; e .

c) Novas funcionalidades: adicionar novas funcionalidades a um instrumento, sem a


necessidade de substituir o hardware, resultando em melhores produtos, sem adicionar
custos de desenvolvimento de um novo hardware, eliminando-se muitas etapas de
desenvolvimento do produto, e diminuindo custos e tempo de desenvolvimento.

O uso da instrumentação virtual deu origem aos objetos inteligentes, e smart objetos, e
enormes avanços na telefonia móvel, onde os aparelhos celulares de última geração possuem
muitas funcionalidades através de sua conectividade à internet.
66

2.8.1 Instrumentação Virtual x Tradicional

Instrumentos virtuais são definidos pelo usuário, enquanto que instrumentos tradicionais
possuem funcionalidades fixas e definidas pelo fabricante que fornece o software e hardware
de medição combinados em um produto, possuindo características e funcionalidades bem
definidas.

Um instrumento virtual é constituído de duas partes: software e hardware, e


normalmente possui um maior valor inicial quando comparado ao instrumento tradicional,
entretanto esse custo é amortizado ao longo do tempo, pois um instrumento virtual é muito
mais flexível no que concerne as frequentes mudanças nas tarefas de medição. Ao adotar um
hardware modular e software reconfigurável não definido pelo fabricante, o usuário terá uma
maior flexibilidade de utilização.

Através de um Instrumento Virtual, o usuário pode customizar a aquisição, a análise, a


armazenagem de dados, o compartilhamento de informações e a forma como elas são
apresentadas por meio de um software flexível, produtivo, e compatível com a instrumentação
tradicional, possuindo bibliotecas para interfaceamento com barramentos e equipamentos
comumente utilizados em aplicações industriais, tais como GPIB, serial, USB ou Ethernet.

No que concerne o hardware reconfigurável e acessível ao usuário, o uso da


instrumentação virtual vai acarretar em muitos benefícios, pois esta arquitetura possui uma
maior flexibilidade e reconfigurabilidade de desenvolvimento, aumentando assim, o
desempenho de suas capacidades, com significativa redução de custo. É necessário destacar
que para isso ocorra, torna-se imprescindível que o usuário tenha conhecimento sobre as
plataformas de hardware e as ferramentas de software presentes no mercado.

2.8.2 Concepção de Instrumentos Virtuais

Na concepção de Instrumentos Virtuais em Automação podemos utilizar diferentes


modos de integração, função de fatores como flexibilidade, custo, rapidez e arquitetura aberta
em nível de software ou hardware, ou seja, podemos ter:

a) Integração de diferentes tipos de dispositivos numa mesma aplicação: um único


programa será utilizado em qualquer aplicação implementada, sem a necessidade de
realizar qualquer alteração em seu código;
67

b) Integração de diferentes aplicações num mesmo dispositivo: diferentes projetos


poderiam ser combinados em uma única aplicação (programa), utilizando um único
dispositivo de controle e aquisição de dados.

A Fig. 2.34(a) exemplifica o conceito utilizado na concepção de instrumentos virtuais,


através da integração de 3 diferentes dispositivos numa mesma aplicação (programa) usando
Instrumentação Virtual através de um desktop e barramento PCI. Essa aplicação consiste de
dispositivo para medir tensão DC e temperatura, e sistema para distribuir a aplicação para um
sistema PXI, que trabalhará em chão de fábrica. O padrão USB para as tarefas poderá ser
utilizado no caso que a aplicação exija portabilidade.

A Fig. 2.34(b) mostra a integração de diferentes aplicações num único dispositivo,


através de um projeto em que um dispositivo de aquisição de dados e encoders de quadratura
são utilizados para medir a posição de um motor e outro dispositivo para monitorar sua
potência. Neste exemplo, embora ambos os projetos pudessem ser combinados numa única
aplicação utilizando um único dispositivo de aquisição de dados, são utilizados sistemas
diferentes dentro de um mesmo projeto (programa).

É importante ressaltar que o uso do conceito da Instrumentação Virtual, baseada


fundamentalmente no software, deverá sempre se adaptar a evolução de hardware e software
que deverão ser compatíveis com o mercado, como ocorre no caso de uma tarefa de medição
que só é possível através de digitalização, e neste caso, o hardware de medição pode ser
analisado sob dois aspectos: resolução (bits do conversor AD) e frequência ( taxa de
amostragem).

a) Integração de diferentes tipos de hardware numa mesma aplicação.


68

b) Integração num mesmo hardware de diferentes tipos de aplicações.


Figura 2.34: Concepção de Instrumentos Virtuais (NI).

2.8.3 A função do Software na Instrumentação Virtual

Todo Instrumento Virtual é implementado através de um software flexível, onde um


especialista utiliza seu conhecimento para obter uma aplicação dedicada ao controle e
medição, e o resultado deverá ser um instrumento específico definido pelo usuário de acordo
com as necessidades da aplicação (Fig. 2.35). Geralmente, este aplicativo deverá ser
constituído de três camadas:

a) Software de Aplicação: é a camada mais comum, constituindo um ambiente preliminar


de desenvolvimento para construção da aplicação;

b) Software para testes e gerenciamento de dados: camada acima do software de


aplicação, ela é o software responsável pela execução de testes e gerenciamento de
dados. Esta camada de software incorpora todas as funcionalidades desenvolvidas pela
camada de aplicação e provê um gerenciamento completo dos dados do sistema.

c) Software para Serviços de Controle e Medição: é a última camada, muitas vezes


negligenciada, ainda que crítica para manutenção na produtividade em desenvolvimento
de software. A camada de serviços para controle e medição inclui drivers, que realizam
a comunicação com o hardware, devendo acessar e preservar as funções e o
desempenho do hardware além de ser inter-operável, ou seja, deve trabalhar com todos
os outros drivers e com diversos tipos de E/S modulares que podem fazer parte da
solução desenvolvida.
69

Figura 2.35: Camadas de Software para Instrumentação Virtual (NI Instruments).

Soluções utilizando a instrumentação tradicional, de acordo com a natureza de suas


funcionalidades fixas e definidas pelos fabricantes, não podem rapidamente se adaptar a novas
tecnologias de software. Considerando a necessidade de flexibilidade, a instrumentação
virtual é mais bem adaptada para incorporar novas ferramentas e tecnologias, pois os usuários
podem simplesmente atualizar a versão do software ao invés de adquirir um novo sistema.

2.8.4 A função do Hardware na Instrumentação Virtual

Um importante conceito na Instrumentação Virtual é a estratégia que potencializa


evolução do dispositivo de hardware e software utilizado atualmente. As E/S possuem um
importante papel na instrumentação virtual, pois estas permitem acelerar os testes, controle e
projeto, e consequentemente precisam ser rapidamente adaptáveis a novos conceitos e
produtos.

A Instrumentação Virtual proporciona esta capacidade na forma de modularidade a


partir de plataformas de hardware escaláveis. Existe uma diversidade e hardwares de
instrumentação virtual que abrangem diversos tipos de E/S que podem ser utilizadas em
diversas aplicações como entradas e saídas analógicas e digitais, contadores e temporizadores,
aquisição de imagens e controle de movimento.

As E/S modulares também incluem instrumentos modulares como osciloscópios,


medidores LCR, geradores de função, dentre outros. Desta maneira há a possibilidade de
escolher de maneira arbitrária os tipos de E/S necessários para uma determinada aplicação e
pode-se assegurar que estes diversos tipos de E/S trabalhem com uma forte integração, já que
70

é possível a utilização dos mesmos recursos, como por exemplo, temporização ou


sincronismo.

Finalmente, a escolha de uma plataforma apropriada para criar uma aplicação de


instrumentação virtual depende dos requisitos específicos da aplicação, como por exemplo,
portabilidade, sincronização e taxas de aquisição.

2.9 Redes de Comunicação para Supervisão e Controle Remoto de Células


Automatizadas

Sistemas de instrumentação virtual frequentemente utilizam a rede Ethernet para


controle e teste remoto do sistema, E/S distribuídas e compartilhamento de dados na rede
empresarial. O maior benefício do barramento Ethernet é seu baixo custo, onde na maioria das
vezes, o uso desta rede é precedido de um sistema de medição, o que acarreta um pequeno
custo agregado ao sistema de medição.

A rede ethernet provê um baixo custo e um método moderado para transferência de


dados e comandos de controle em longas distâncias, entretanto, devido a sua arquitetura
baseada em pacotes, esta rede não é determinística e possui uma latência relativamente
grande. Para algumas aplicações, como sistemas de instrumentação, a falta de determinismo e
a grande latência tornam a Ethernet uma má escolha para integração de módulos de E/S
adjacentes. Estas situações são melhores resolvidas com um barramento dedicado como PXI,
VXI ou GPIB.

Freqüentemente, um sistema de instrumentação virtual utiliza outros barramentos em


conjunto com a Ethernet. Tipicamente, um nó na rede consiste em conjuntos de E/S
modulares, cada conjunto utiliza um barramento de alta velocidade e baixa latência para
trocar dados entre os diferentes módulos de E/S. Para comunicar com os outros nós, transferir
dados para uma localização remota ou aceitar comandos de uma localização remota, os nós da
rede utilizam uma rede Ethernet (Fig. 2.36).
71

Figura 2.36: Exemplo de sistema de instrumentação virtual baseado em LAN/Ethernet

Os laboratórios virtuais mostram-se como uma solução para a parte prática do processo
de aprendizagem, pois oferecem a possibilidade de interagir, criar e/ou modificar novas
informações e conteúdos em pesquisa e desenvolvimento de células robotizadas na área de
Automação Industrial. D’Abreu (2002) afirma que laboratórios de simulação de uma linha de
produção propiciam uma vivência de ambiente de fábrica dentro de um laboratório da
universidade. Este conceito poderá ser facilmente estendido para a concepção de células
robotizadas em ambientes industriais.

Queiroz (1998) classifica estas células robóticas remotas segundo o nível de interação
entre usuário e o ambiente de acordo com três tipos:

 Nível hipermídia: células que apresentam nível de interação entre o usuário e o


ambiente remoto baixo, permitindo somente à captura de informações que se
encontram distantes do usuário (textos, imagens ou vídeos contendo funcionalidades
da célula desenvolvida);
72

 Nível simulação: células que apresentam um maior nível de interação com o usuário,
fornecendo a capacidade de fazer uma maior interação com os procedimentos e
intervenções que seriam realizadas na célula real, onde o usuário envia dados para a
célula previamente implementado e recebe imagens, gráficos e/ou áudio, de acordo
com o processo. Na maioria das vezes o laboratório virtual de simulação está
diretamente relacionado ao de hipermídia, pois simula a parte prática de um estudo
teórico. A parte teórica é apresentada no formato de hipermídia e a simulação é
considerada um complemento ao projeto da célula realizado de forma off-line;

 Nível tele-presença real: são células robotizadas capazes de interagir com o ambiente
remoto e realizar experimentos reais sobre o assunto a ser estudado, havendo a
existência de uma célula real que constitui a célula virtual através de uma camada de
abstração de entrada e saída (I/O) e o meio de telecomunicação.

O Laboratório de Automação Integrada e Robótica da Faculdade de Engenharia


Mecânica da UNICAMP, desenvolveu o projeto de uma célula de manufatura, cujo principal
objetivo foi a implementação de um laboratório virtual em Automação baseado na Plataforma
LABVIEW, permitindo ao usuário a utilização colaborativa multiusuários de células didáticas
disponibilizadas em rede cooperativa de alta velocidade nas instituições EESC-USP, UNESP
e UNICAMP, permitindo assim a capacitação na área através de experimentos remotos e/ou
virtuais (Fig. 2.37).
73

Figura 2.37: Exemplo de Célula de Manufatura multi-usuário.

2.10 Considerações Finais

Este capítulo apresentou uma revisão bibliográfica aprofundada abordando o conceito


de prototipagem rápida para concepção de células flexíveis robotizadas, apresentando
ferramentas disponíveis no mercado, onde a ênfase neste trabalho de pesquisa foi a utilização
de ferramentas de instrumentação virtual para a concepção de arquiteturas de controle para
sistemas mecatrônicos utilizando técnicas de prototipagem rápida.

Dentre as principais vantagens da utilização de prototipagem rápida em mecatrônica,


pode-se destacar a possibilidade de programação através de blocos estruturados, com uma
modelagem hierarquizada; a utilização de softwares que permitem a modelagem de
componentes mecânicos a partir da simulação do movimento; a análise direta dos movimentos
sem necessidade de derivar as equações; a diminuição do ciclo de concepção e interfaces
convenientes com o usuário, e a possibilidade de implementação de algoritmos de controle
adequados ao problema em estudo.
74

Dentre os principais inconvenientes, podemos citar que a maior parte destas ferramentas
são dedicadas e desenvolvidas em função das necessidades pela própria indústria, e
apresentam alto custo, e necessidade constante de serem atualizadas.

No próximo capítulo serão apresentadas algumas ferramentas de modelagem e feita


uma descrição de elementos de um sistema automatizado.
75

Capítulo 3

Descrição de Ferramentas de Modelagem e Controle de


Células Robotizadas

3.1 Introdução

Este capítulo apresenta ferramentas para controle e automação de células robotizadas


descrevendo inicialmente todo o procedimento de modelagem cinemático de dispositivos
robóticos desenvolvidos nesta tese de doutoramento. Assim, serão apresentados os modelos
matemáticos de um dispositivo com 3 GL (PRR) para posicionamento de uma mesa de
trabalho para operação de um robô industrial 6R numa célula robotizada e de uma Plataforma
de Stewart-Gough desenvolvida junto a PETROBRAS. Devido à importância deste capítulo, o
mesmo foi subdividido em três partes distintas: a primeira concernente a modelagem de um
dispositivo com 3 GL, a segunda parte é concernente a definição de sistemas de referência, e
apresentação de metodologia calibração do dispositivo robótico em relação ao referencial de
trabalho e também de sua ferramenta terminal, e finalmente a terceira parte concernente a
modelagem matemática de uma Plataforma de posicionamento de Stewart-Gough,
desenvolvida em cooperação com a PETROBRÁS, mas que também poderá integrada a uma
célula robotizada.

3.2 Modelagem de um Dispositivo Robótico PRR

Neste tópico apresentaremos o estudo e implementação de um dispositivo robótico de


uma célula robotizada implementado a partir do estudo cinemático e dinâmico dos sistemas de
acionamento e mecânico de juntas robóticas, constituído de uma mesa de posicionamento com
3 GL (PRR), correspondentes a um movimento de translação e duas rotações que deverá
trabalhar de modo cooperativo com dois robôs industrias, para operações de usinagem e
soldagem, implementado no Laboratório de Automação Integrada e Robótica da Faculdade de
Engenharia Mecânica da UNICAMP.
76

Para a implementação final do controlador foi desenvolvido um simulador robótico,


utilizando o conceito de prototipagem rápida apresentado anteriormente. Este simulador
desenvolvido em ambiente Matlab/Simulink®, apresenta uma arquitetura modular e aberta,
facilitando a criação e modificação das bibliotecas, possibilitando ainda a implementação de
novos módulos que pode ser feita de maneira simples, que deverá permitir uma evolução
contínua do simulador e extensão de sua utilização para outros tipos de sistemas
mecatrônicos.

O conceito de prototipagem rápida é aplicado no desenvolvimento deste simulador, e


conseqüentemente, após a fase de validação e testes do sistema completo de controle, a
interface de supervisão e hardware de controle deverá ser implementado de maneira rápida,
segura e aberta, eliminando custos envolvidos na confecção de protótipos.

Finalmente, o módulo de controle foi implementado na forma RST, onde os parâmetros


relativos a esse controlador foram calculados off-line a partir das características dinâmicas do
sistema em estudo.

3.2.1 Descrição da Plataforma

A integração de robôs e dispositivos mecatrônicos dentro de Células Flexíveis


Robotizadas envolve metodologias usando os conceitos de integração de sistemas
automatizados. O ambiente modelado por CAD (Computer Aided Design) pode ser associado
com o desempenho do controle de robô incluindo equipamentos e mecanismos, modelagem
matemática do robô (cinemática direta e inversa) e seus componentes acoplados, como
também, a integração e coordenação dos movimentos do robô com outros dispositivos.

Com esta finalidade foi desenvolvida na FEM-UNICAMP, uma célula robotizada


constituída de uma mesa robótica para auxiliar dois robôs manipuladores em trabalhos de
usinagem e soldagem de dispositivos mecânicos complexos (trajetórias complexas). Esta
mesa de posicionamento pode auxiliar em tarefas nas quais os manipuladores tradicionais têm
dificuldade em alcançar algumas partes da peça a ser trabalhada ( Fig. 3.1b ).
77

a) Célula Flexível Robotizada.

b) Mesa Robótica de Posicionamento.

Figura 3.1: Célula Robotizada e Mesa Robótica de Posicionamento.

A Fig. 3.1a apresenta a configuração de célula robotizada proposta neste trabalho,


baseada na coordenação e integração de dois robôs industriais e uma mesa de posicionamento
(dispositivo robótico). Esse dispositivo possui 3 GL (PRR), onde cada grau de liberdade é
78

constituído de um motor de corrente contínua (c.c.) idênticos, acoplado a um sistema de


transmissão mecânica (redutor de engrenagens), e o movimento de translação da mesa é
realizado através de um sistema de transmissão mecânico constituído de fuso de esferas ao
eixo do primeiro motor (base da mesa).

3.2.2 – Modelagem Matemática

As tarefas realizadas pelos robôs baseiam-se no movimento independente de cada grau


de liberdade, coordenados a partir de um planificador de trajetórias baseado no seu modelo
cinemático. Na maioria dos casos, a programação das tarefas é realizada através do modo
aprendizagem, onde ocorre a armazenagem da seqüência de movimentos independentes de
cada junta, até alcançar a posição final desejada. A partir do conhecimento destas posições
articulares, é facilmente implementado um gerador de referências (perfil de velocidades)
baseado nas características cinemáticas das juntas.

Para realização de tarefas a nível sistema de coordenadas da mesa de posicionamento


(sistema cartesiano) e para geração dos sinais de referência para o controlador de posição de
cada junta robótica do sistema mecatrônico em estudo, torna-se necessário o estabelecimento
de um modelo matemático baseado na cinemática direta e inversa do sistema. Portanto, o
controle de um robô necessita de procedimentos para transformar as coordenadas articulares
em cartesianas, quando se deseja realizar o controle através de um referencial cartesiano,
conforme podemos observar na Fig. 3.2.

Os graus de liberdade de um robô podem ser associados a diferentes sistemas de


coordenadas, possibilitando a descrição do movimento de cada grau de liberdade. O modelo
geométrico de um robô expressa a posição e orientação do elemento terminal em relação a um
sistema de coordenadas relacionadas à base do robô em função de suas coordenadas
generalizadas.
79

Figura 3.2: Estrutura de Controle

Os valores das variáveis articulares utilizados como sinal de referência na malha de


controle de posição das juntas quando comparados com os valores das juntas podem resultar
em erro. Dessa forma, a implementação de um controlador de posição para um robô industrial
exige o conhecimento completo da cinemática do movimento do mesmo.

3.2.2.1 - Modelo Cinemático Direto

O modelo cinemático é importante para a coordenação do movimento das juntas, com o


acionamento de cada junta para alcançar a posição desejada obtendo o ângulo, caso de junta
rotacional, ou o deslocamento, para junta prismática.

A mesa de posicionamento foi utilizada como validação do ambiente virtual proposto. O


modelo geométrico desse dispositivo mecatrônico com 3 GL indica a posição
( px , py , p z ) e a orientação (, , ) da mesa com relação ao sistema de coordenadas

fixas no centro da mesma, em função de suas coordenadas generalizadas (junta rotacional e


translacional), que é:

x  f (θ)
80

onde

θ  d  2 3  é a posição das juntas

x   px py pz     é o vetor posição da mesa

e a função f que é uma função não linear, e tem uma solução analítica não-trivial, permite
calcular o movimento do efetuador a partir do movimento das juntas.

A relação pode ser expressa matematicamente por uma matriz do sistema de


coordenadas fixo na base do robô com um sistema de coordenadas associadas ao robô. Essa
matriz é chamada matriz de transição homogênea, é obtida através do produto das matrizes de

transformação homogênea (Rosário, 2002), A i,i 1 , associando o sistema de coordenadas do


elemento i com o sistema do elemento anterior i  1 , que é:

n T

sT aT pT  Tn  A 0,1 A1,2 A 2,3

com:
 
p  px p y pz representa o vetor posição,
n  n x ny n z ,   
s  sx s y sz , e a  a x a y a z 
n, s, a vetores ortonormal que descreve a orientação

A descrição cinemática deste robô é desempenhada pela representação de Denavit-


Hartenberg (DH), isolando a seguir os quatro parâmetros θi , ri, di e α i (Tabela 3.1 e Fig.
3.3). Estes coeficientes permitem representar as diferentes posições das partes deste
dispositivo mecânico.
81

Figura 3.3: Estrutura Cinemática.

Tabela 3.1: Representação dos parâmetros de Denavit-Hartenberg.

Juntas i di i ri

1 0 d 0 0
2 0 0 2 a
3 3 0 0 b

Considerando um objeto com dimensões Lx L y Lz   colocado no centro da mesa,

calcula-se a solução do vetor posição p x p y pz  da extremidade desse objeto, e dos

correspondentes ângulos de orientação     :

p x  Lx c2 c3  L y s1  Lz c2 s3
p y  Lx s2 c3  L y c2  Lz s2 s3  d
p z   Lx s2  Lz c2  ( a  b)
82

(   )  rot( x,  ) rot( y,  ) rot( z, )

c c  c s s  s c c s c  s s 
  s c  s s s  c c s s c  c s 
 
  s c s c c 

com :
  nZ  ny   sφ a x  cφ a y 
  ATAN 2  ,   ATAN 2   e ψ  ATAN 2 
 c n x  s n y   nx    sφ s x  cφ s y 

nx  c2 n y  s2 nz  0
sx   s2 c3 s y  c2 c3 sz  s3
ax  s2 s3 a y  c2 s3 az  c3
ci  cos(i ) si  sin(i )
onde
c  cos( ) s  sin( ) (idêntico para  e  )

3.2.2.2 - Modelo Cinemático Inverso


Para a geração de trajetória é necessário conhecer o modelo cinemático inverso, com a
posição e orientação final da mesa. O movimento angular de cada junta e sua referência serão
obtidos através de um sensor de posição que enviará esta informação ao controlador de cada
junta. A elaboração das referências de posição, em coordenadas angulares, para as tarefas
definidas no espaço cartesiano é expressa matematicamente pela inversão do modelo
geométrico:

θ  f 1 (x)

Entretanto, a realização dessa inversão é complexa, devido as não linearidades e forte


redundância entre as juntas, conseqüentemente, a solução inversa pode ser inexistente ou não
ser única, e assim, para eliminar essas dificuldades utiliza-se a inversão da matriz Jacobiana.

O cálculo da matriz Jacobiana é considerada uma ferramenta muito útil no campo da


robótica, pois relaciona as velocidades das juntas com as velocidades cartesianas do elemento
83

terminal de um manipulador, e pode ser obtida a partir do cálculo direto de uma matriz
numérica (não literal), proporcionando uma fácil inversão e a possibilidade de ser utilizada
diretamente no sistema de controle em tempo real, Rosário (2004), Spong (1989), Craig
(1989).

Conseqüentemente, a trajetória é definida por pequenos incrementos angulares


incrementados na posição atual em cada iteração, ou seja, pequenos incrementos de
deslocamentos que por interpolação atingem o objetivo especificado:

 
x  J 

Em um sistema que existem múltiplas variáveis temos:

x1  f1 1 ,  2 ... n  
x2  f 2 1 ,  2 ... n  

... .......... 
xm  f m 1 ,  2 ... n 

onde :

m- número de coordenadas em relação ao elemento terminal

n- número de graus de liberdade

 f 
x  


f
onde  J (Jacobiano)


Através de derivadas parciais, a matriz Jacobiano J (  ) é definida como:


84

 f1 f1 f 
  ... ... 1 
 2  n
 1 
 f 2 f 2
... ...
f 2 
   2  n 
J ( )   1
... ... ... ... ... 
 
 
 f m f m f m 
  ... ...
 1  2  n 


Então, faz-se uma inversão da matriz Jacobiano, onde cada incremento angular  

varia de acordo com cada pequeno deslocamento  x do elemento terminal. A cada nova
iteração, nova posição é obtida num determinado tempo, pois cada junta movimenta até
alcançar a posição final.

 
  J 1x

Os movimentos desejados, expressos em coordenadas angulares, e as leis de controle


estão em diferentes sistemas de coordenadas, requerendo a implementação de algoritmos
rápidos para a inversão do modelo geométrico e para a geração da trajetória de referência em
coordenadas angulares.

3.2.2.3 - Modelo Dinâmico

Como foi previamente mencionado, o controlador de posição de cada junta é


implementado de maneira independente. Entretanto, durante a validação do sistema de
controle é importante e necessário considerar, no ambiente de simulação e prototipagem
implementado, os efeitos de acoplamentos dinâmicos entre as juntas e sua interferência na
evolução das trajetórias, ou seja, o controlador deverá ser o suficiente robusto para que o
motor de cada junta mova seus links para os valores de posição com velocidade requerida
obedecendo às referências de posição obtidas no planejamento de trajetórias.

O modelo dinâmico de uma junta robótica pode ser derivado da formulação de Euler-
Lagrange que expressa o torque generalizado (Spong, 1989). O comportamento dinâmico do
manipulador é descrito através de um conjunto de equações diferenciais chamadas de
85

equações dinâmicas do movimento. Para um robô rígido com 3 GL, as equações são descritas
como:

 i t   J i  t  i t  C i  t ,t   Qi  t 
i  1,,3
Onde,
 i t  vetor torque generalizado
 i t  vetor posição generalizado(juntas)
J i t  matriz inercial,

 
Ci  , forças não-lineares (por exemplo, força centrifuga)

Qi   matriz força de gravidade

A dinâmica do robô estará presente no bloco correspondente à dinâmica e controle do


diagrama de blocos apresentado anteriormente na Fig. 3.3. Podemos observar que as
referências de entrada (obtidas em coordenadas angulares pelo interpolador de trajetória) são
comparadas com as informações do sensor de posição de cada junta (encoder incremental), e
o controlador efetua a correção considerando o modelo dinâmico da junta robótica
desenvolvida anteriormente.

Essas correções são transmitidas ao manipulador descrito na próxima subseção, incluído


o sistema de transmissão mecânica (redutor a engrenagens). Os redutores são caracterizados
pelo raio, inércia, rigidez e amortecimento na entrada e saída dos eixos, e os eixos, na saída
dos redutores, são conectados a outras partes da estrutura do robô que resulta em torque
efetivo refletido em cada junta.

Para cada uma das três juntas, o efeito dos outros links é considerado globalmente como
uma carga única que induz a junta a um torque composto de três componentes (inercial,
devido à aceleração, atrito viscoso, devido a velocidade, e um torque de perturbação).
86

3.2.2.4 - Modelo do Atuador

Cada junta robótica é constituída de um motor cc, um redutor e um encoder de posição.


Considerando as equações de modelagem do motor cc, temos as equações elétrica, mecânica e
de acoplamento descritas a seguir:

d i (t ) d  (t )
u (t )  L  R i (t )  K E m
dt dt
d 2  m (t ) d  (t )
Tm (t )  J eq 2
 Bm m
dt dt
Tm (t )  K T i (t )
onde,

Tm (t ) é o torque do motor,  m t  é a posição angular do motor, i t  a corrente do

motor, L, R respectivamente a indutância e a resistência do motor, Bm é o coeficiente de atrito

viscoso, K E é a constante de força contra-eletromotriz, KT é a constante de torque e J eq a

inércia da carga calculada no eixo do motor, resultando o diagrama de blocos da Fig. 3.4,
onde as funções de transferência associadas ao modelo são descrias a seguir:

a) Estrutura de Controle de um Dispositivo Mecatrônico

b) Modelo de uma Junta Robótica (motor + dinâmica)


Figura 3.4: Diagrama de blocos e Estrutura de Controle de um Dispositivo Mecatrônico.
87

Função de Transferência correspondente a Parte Elétrica:

1
H1 (s) 
Rs  L

onde a constante de tempo elétrica é dada por:

-R
Te 
L

Função de Transferência correspondente a Parte Mecânica:

1
H ( s) 
Jms  B

onde a constante de tempo mecânica é dada por:

J
Tm 
B

Para prototipagem do sistema de controle do dispositivo robótico 3 GL foi


implementado um simulador virtual contendo os modelos dos eixos completos com:
controladores, motores, redutores e partes mecânicas.

3.2.3 – Simulador Virtual

O sistema completo de acionamento e controle de juntas do dispositivo robótico 3 GL


foi implementado Matlab-Simulink®, sendo constituído de malhas de controle de posição,
velocidade e torque. O controle de posição do manipulador foi implementado através de
realimentação para cada junta isolada, requerendo o modelo de cada junta, conforme descrito
na Fig. 3.2, apresentada anteriormente.

No problema em estudo foi implementado a malha de controle de posição acoplada ao


modelo completo de uma junta robótica, utilizando arquitetura aberta, de modo à facilmente
serem implementados diferentes estratégias de controle, para posterior simulação, análise e
comparação de desempenho. Outros elementos do sistema mecatrônico (incluindo possíveis
cargas externas) são representados por modelos não lineares, um para cada motor.
88

O simulador também inclui um módulo de geração de trajetórias, proporcionando às


juntas com as trajetórias dos eixos como sinais de referência para o controlador, conforme
mostra a interface gráfica apresentada na Fig. 3.5.

A seguir serão descritos através de exemplos, as principais características do simulador


implementado através de bibliotecas desenvolvidas em Matlab-Simulink®, estruturada em
módulos que possibilitam facilmente adicionar novos módulos, como por exemplo,
aumentando o número de graus de liberdade, o tipo de controlador, a dinâmica e acoplamento
das juntas e outras características julgadas pertinentes à simulação de sistemas mecatrônicos.

Figura 3.5: Simulador de uma mesa de 3 GL’s usando ambiente Simulink®


89

3.2.3.1 - Módulo Geração de Trajetórias

O módulo geração de trajetórias foi implementado através da geração de sinais de


referência para cada junta (perfil de velocidade), baseado nas características cinemáticas das
mesmas. Os tempos de aceleração e frenagem escolhidos foram baseados nas características
dinâmicas do sistema em estudo (associados à constante de tempo mecânica). Um integrador
permite a obtenção da referência de posição de cada junta.

A Fig. 3.6 apresenta um perfil de trajetória de referência para cada junta, com a
aceleração, velocidade constante e frenagem em um intervalo de 10 s. O módulo de geração
de trajetórias pode ser implementado através da cinemática inversa a partir do modelo
cinemático da estrutura a ser controlada utilizando o Jacobiano inverso, conforme foi
apresentado anteriormente.

Figura 3.6: Sinal de referência de posição para cada junta.

3.2.3.2 - Módulo Acionamento

O módulo de acionamento (Fig. 3.7) apresenta as componentes relativas ao modelo


elétrico e mecânico do sistema de acionamento (neste caso um motor cc), e ainda o
controlador de posição.
90

Controlador de posição Sistema de acionamento

Figura 3.7: Malha de controle de posição de uma junta

Para implementação em hardware eletrônico, o controlador de posição foi colocado na


forma discreta RST, de maneira a tornar possível a sua implementação em tempo real,
conforme mostra a Fig. 3.8.

Figura 3.8: Estrutura de controle na forma RST

3.2.3.3 - Módulo cinemático


O modelo cinemático do sistema robótico com 3 GL, em estudo, foi implementado a
partir do modelo dinâmico não linear descrito anteriormente, utilizando funções S-function,
dentro do ambiente Matlab® integrados nos blocos do Simulink® (Fig. 3.9).
91

Figura 3.9: Modelo Dinâmico implementada nos blocos do Matlab-Simulink®

3.2.3.4 - Interface Gráfica


O simulador implementado em ambiente Simulink® permite a visualização temporal
das saídas e entradas do sistema em estudo. Para melhor compreender e analisar o
comportamento espacial do sistema torna-se imprescindível a implementação de um
simulador gráfico de movimentos espaciais que será descrito a seguir. Conseqüentemente,
após as simulações realizadas no domínio do tempo através do simulador implementado em
Simulink®, são obtidos arquivos de dados temporais correspondentes as variáveis de estudo
(posição angular e cartesiana, velocidade, corrente, sinal de controle), que após tratamento
conveniente, torna-se possível verificar importantes resultados disponíveis no menu
apresentado na Fig. 3.10.
92

Figura 3.10: Menu do simulador robótico 3 GL.

3.2.3.5 – Simulação e Resultados Obtidos


Para possibilitar a visualização dos movimentos em relação às coordenadas cartesianas
das juntas, foi inserida uma haste de 100 mm de comprimento (entre os pontos A e B
respresentados na Fig. 3.11) centralizada na base da mesa e inclinada de um ângulo 30° em
relação à mesma. Para efeito de melhor visualizar o comportamento do sistema em estudo, as
simulações apresentadas neste capítulo mostram a haste girando em torno do eixo Z, ou seja,
movimentando apenas do motor responsável pelo acionamento da junta 2. A seguir são
apresentados os principais resultados obtidos nesta simulação.

Figura 3.11: Haste colocada sobre a mesa para visualização dos movimentos durante a
simulação.

A seguir serão apresentados resultados obtidos através de simulações, que poderão ser
realizadas com ou sem perturbações, ou ainda com a presença ou não de ruídos.
93

i. Velocidade do motor: possibilita verificar o movimento de cada junta separadamente ou


as três juntas simultaneamente, onde a velocidade máxima de cada junta é escolhida
como parâmetro de entrada no simulador (Fig. 3.12)

Figura 3.12: Perfil velocidade das juntas com acionamento somente do motor 2.

ii. Deslocamento dos motores das juntas: movimento considerando o deslocamento


cinemático (sem carga), e dinâmico das juntas (com carga), conforme mostra a Fig.
3.13.
94

a) Deslocamento cinemático (sem considerar o efeito da carga acoplada)

b) Deslocamento dinâmico (considerando o efeito da carga acoplada)


Figura 3.13: Deslocamento angular das juntas (acionamento da junta 2).

iii. Sinal de Controle da junta: podemos notar que qualquer ruído introduzido no
controlador, poderá ser amenizado quando utilizado um Controlador Preditivo Robusto.
A Fig. 3.14 apresenta o sinal de controle do controlador de junta sem a introdução de
um ruído.
95

Figura 3.14 - Sinal do controle.

iv. Movimento da haste em relação ao centro da mesa: diz respeito ao movimento da


haste posicionada sobre a mesma, permitindo assim uma visualização espacial da
posição apresentada pela haste em cada instante de tempo (intervalo de 10s) ( Fig. 3.15
).

Figura 3.15: Movimento da haste no centro da mesa com apenas o motor 2 acionado.

v. Trajetória Cinemática Espacial: projeção do movimento espacial da haste no centro da


mesa em relação aos eixos x, y e z (movimento espacial da haste) ( Fig. 3.16).
96

Figura 3.16: Projeção dos movimentos da haste no centro da mesa em relação aos eixos x, y e
z.

vi. Trajetória espacial 3D: visualização do movimento espacial da haste no centro da mesa
em 3D, permitindo verificar possíveis erros e perturbações de deslocamento no espaço
cartesiano ( Fig. 3.17 ).

Figura 3.17: Movimentação espacial da haste no centro da mesa com apenas o motor 2
acionado.

vii. Estudo do erro: apresentação dos erros de medida em relação à posição da mesa e erro
do motor ( Fig. 3.18).
97

a) Mesa

b) Motor cc

Figura 3.18: Estudo do Erro.

3.3 Identificação de Posicionamento de Dispositivos Robóticos

A automação de tarefas robotizadas baseadas através do uso de prototipagem rápida de


células flexíveis robotizadas, baseada no uso de um software de visualização gráfica
98

desenvolvido a partir do modelo CAD da célula de manufatura, para que possa realizar tarefas
complexas, exige precisão de posicionamento, sendo necessário o conhecimento exato do
modelo do robô industrial como de sua ferramenta de operação. Como o modelo completo do
robô utilizado, geralmente é fornecido pelo fabricante do robô, e já integra o software de CAD
utilizado, torna-se necessário somente identificar a ferramenta terminal do robô, e o seu
referencial de fixação em relação a pontos de precisão do seu referencial de trabalho. Neste
tópico será desenvolvida metodologia baseada no critério de mínimos quadrados para
calibração da ferramenta de trabalho do robô, e identificação do referencial de sua base de
fixação em relação ao seu referencial de trabalho, no caso um palete de precisão.

3.3.1 Erro de Posicionamento de um Robô em relação ao referencial de Trabalho


A utilização da programação off-line exige não só a repetibilidade, como um alto grau
de posicionamento, passa a ser essencial para a utilização de um método de identificação do
robô e sua ferramenta de trabalho em relação ao seu referencial de trabalho.

No caso em estudo, os robôs integrantes de uma célula robotizada de montagem de


veículos se encontram fixos em relação ao palete de precisão que contém a carcaça do veiculo
se posiciona diante do robô para que o mesmo realize as tarefas pré-programadas de modo
off-line, exigindo-se assim que o modelo implementado através de CAD seja corrigido,
através do cálculo de posicionamento do robô em relação ao seu referencial de trabalho.

A identificação de erros de posicionamento e orientação da base onde se encontra


fixado o robô, em relação ao painel de atuação é necessário para a correção das trajetórias
geradas através da programação off-line realizada anteriormente, cujo modelo supõe um
modelo exato, sem erros posicionamento em relação ao referencial de trabalho do robô.
Consequentemente, torna-se imprescindível um estudo de calibração de um robô industrial, e
o desenvolvimento de procedimentos para implementação de um software para identificação e
correção de posicionamento do robô em relação ao seu painel de atuação (Fig. 3.19).
99

Figura 3.19: Estudo do Erro de Posicionamento entre o Robô e Painel de atuação.

3.3.2 – Fatores de Imprecisão de um Robô em relação ao seu painel de atuação


Robôs industriais apresentam uma alta repetibilidade de posicionamento (normalmente
menores que 1/10 mm). Dentre os principais fatores que levam a imprecisão de um
dispositivo robótico em relação ao seu referencial podemos considerar:
 Tolerâncias de posicionamento e montagem do robô em relação ao seu referencial de
trabalho;
 Erros de acoplamento da ferramenta de trabalho do robô em relação ao seu elemento
terminal;
 Possíveis flexões e torções, sobretudo ao nível dos sistemas de transmissão, devido à
influência de sua carga;
 Conhecimento inexato da posição e orientação do sistema de referência de operação em
relação ao referencial da base do robô.

Com o objetivo de aumentar a precisão do sistema, neste tópico será proposto um


método de calibração, consistindo de quatro fases:
100

1. Modelagem do sistema, onde se deve encontrar a melhor função que relacione os


parâmetros de posicionamento do robô, e a posição e orientação do elemento
terminal em relação ao seu sistema de coordenadas;
2. Obtenção de medidas de posicionamento da base de fixação do robô, através de um
dispositivo externo de medição;
3. Identificação de parâmetros de posicionamento robô e da ferramenta de trabalho em
relação ao seu referencial de trabalho, através de um algoritmo que utilize o critério
de mínimos quadrados;
4. Correção de trajetórias do software de programação off-line, através da
implementação de correção de posicionamento e ferramenta de trabalho no
controlador do robô.

No anexo 1 deste trabalho temos uma revisão de conceitos de transformação de coordenadas,


a modelagem do sistema e um exemplo de programa implementado.

3.3.3 – Cálculo de Posicionamento do Robô em relação ao referencial de trabalho


Para o cálculo de posicionamento do robô em relação ao seu referencial de trabalho,
será dada ênfase somente aos parâmetros geométricos do robô em estudo, considerando-se as
matrizes de transformação homogênea que descreve a base de fixação do robô em relação ao
sistema de posicionamento.

Com o objetivo de expressar o posicionamento em relação a um referencial de operação


R0, é feita a multiplicação de T1,N+1 por outra matriz de transformação A0,1 que descreve a
posição ( p x p y p z ) e a orientação (, , ) do referencial da base em relação ao referencial

de operação. A Fig. 3.20 apresenta à definição dos referenciais de medida que incluem o
referencial solidário a base do robô, o referencial da ferramenta do robô em relação ao seu
painel de atuação.
101

Figura 3.20: Definição dos referenciais de medida.

3.3.3.1 - Definição dos parâmetros de medida

a) Pontos de medição
Ponto P0: : ponto a ser identificado, que se
encontra no referencial solidário a base do robô.
Ponto P1: : primeiro ponto de medida que é uma
posição perfeitamente conhecido a partir do controlador do robô.
Ponto Pi+1: : ponto de
medição qualquer, que também é perfeitamente conhecido a partir do controlador do robô.

b) Parâmetros desconhecidos e valores atribuídos inicialmente

: distância do ponto P(0) (zero do robô) até o primeiro ponto do palete. Este valor
é atualizado a cada iteração.
102

c) Parâmetros perfeitamente conhecidos


: ponto obtido através do robô. Este valor deverá
ser atualizado a cada iteração, pelo valor real do robô considerando o novo zero do robô
obtido anteriormente.
: obtido através do
controlador do robô. Este ponto deverá ser atualizado a cada iteração pelo valor real do robô,
considerando o novo zero do robô obtido anteriormente.

: vetor posição ao longo do palete (ponto em relação a P1). Este ponto é


conhecido através do desenho do palete de calibração utilizado (Fig. 3.21).

Figura 3.21: Pontos de medição do palete conhecidos.

Implementação Experimental:

Para a validação do algoritmo proposto anteriormente foi utilizado um robô industrial


com 6 GL (juntas rotacionais), o robô ABB IRB 1400. Pelo fato de conhecermos os
parâmetros exatos e confiáveis, relativos à geometria desse robô (fornecidos pelo fabricante) e
o robô já possuir um algoritmo para calibração automática de sua ferramenta terminal, neste
trabalho e pesquisa, foram calculados somente os erros devido ao posicionamento da base de
fixação do robô em relação a seu painel de atuação (posição e orientação). Assim, o vetor de
parâmetros de identificação considerado neste estudo será:

= (pxo, pyo, pzo,, o, o, o)


103

A medida de posicionamento de um robô em relação ao seu painel de trabalho


necessita-se da utilização de um instrumento externo de precisão superior a desejada para
operação. Dentre, os principais instrumentos utilizados para a medição podermos destacar os
teodolitos de precisão, a mesa de precisão cartesiana tri-dimensional, sistemas de medição
baseado no método da triangularização através do laser. Devemos considerar que o método de
medida ideal como sendo aquele que possa fornecer a precisão desejada do posicionamento
do robô num maior espaço de trabalho do mesmo.

Para validação desse trabalho, foram utilizados dois dispositivos externos de


calibração, ambos com precisão de 1/10 mm (Fig. 3.22). O primeiro dispositivo foi uma mesa
de medição tridimensional (1,0 m x 1,0 m, x 1,7m), onde foi realizado uma série de 45
medidas fazendo ferramenta terminal do robô tocar um ponto de referência desta mesa
(utilizando diferente orientações da ferramenta, e o segundo dispositivo foi um dispositivo de
calibração contendo pontos de precisão em todas as faces para que uma ferramenta de
calibração desenvolvida para o robô (haste com uma ponta de precisão) pudesse tocar os 12
pontos deste dispositivo.

Utilizando esses dois dispositivos externos de calibração foram obtidos resultados


referentes à posição e orientação da ferramenta fixa no elemento terminal do robô, concebida
exclusivamente para a calibração do robô em estudo. Todas as medidas foram realizadas em
relação a um referencial de operação, sendo considerado, de mesma orientação do referencial
em relação à base de fixação. Para eliminar possíveis erros de medida, foram realizadas três
séries de medida para cada ponto de medição. A Fig. 3.23 apresenta um resumo dos principais
resultados obtidos, a partir da utilização da mesa de medição tridimensional e o dispositivo de
calibração. Os programas implementados estão disponíveis no anexo I deste trabalho.
104

a) Mesa de medição Tridimensional.

b) Dispositivo de Calibração

Figura 3.22: Sistema Externo utilizado para Calibração do Robô ABB.


105

Parâmetros Ko Kreal ∆K %Erro (∆K/ Ko)

Xo (mm) 665 664,47 0,33 4.96E-4

Yo (mm) 730 730,29 0,29 3.97E-4

Zo (mm) 158,5 158,43 0,07 4,41E-4

ψo (graus) 0.5 0.533 0.033 6,6E-2

ϴo (graus) 0.43 0.432 0.002 4.65E-3

ϕo (graus) 1.0 1.0047 0.0047 4,7E-3

a) Mesa Tridimensional.

Parâmetros Ko Kreal ∆K %Erro (∆K/ Ko)

Xo (mm) 665 664,77 0,23 3.46E-4

Yo (mm) 730 730,53 0,53 7,26E-4

Zo (mm) 175,4 175,64 0,24 1,37E-3

ψo (graus) 0.52 0.528 0.08 1,54E-1

ϴo (graus) 0.428 0.429 0.001 2.34E-3

ϕo (graus) 1.1 1.1043 0.0043 3,91E-2

b) Dispositivo de Calibração.

Figura 3.23: Identificação dos Parâmetros de Posicionamento.

Os resultados obtidos para calibração do posicionamento do robô em relação a sua


base mostram que a mesa tri-dimensional apresenta a vantagem de obter parâmetros que
melhor representa a operação do robô em todo o seu volume de trabalho, mas os resultados
obtidos através deste dispositivo foram muito próximos ao do dispositivo de calibração, que
representa uma alternativa simples e de baixo custo em relação à mesa tridimensional.

No próximo capítulo deste trabalho será proposto um mecanismo automático para


identificação e correção de posicionamento do robô em relação ao seu referencial de trabalho
baseado na utilização de Visão Robótica, pois a automação do procedimento de calibração se
106

mostra fundamental, em células robotizadas que não haja a existência de tempo de espera,
como ocorre no caso da indústria automobilística.

3.3.4 – Metodologia de Calibração da Ferramenta Terminal

A ferramenta terminal de um robô é normalmente anexada numa flange disposta no


último grau de liberdade de um robô, também designado elemento terminal (TCP). No
momento, em que esta ferramenta é anexada a uma flange disposta no seu último grau de
liberdade (Fig. 3.24), a mesma deverá ser integrada ao modelo cinemático do robô,
necessitando assim, do desenvolvimento de uma metodologia para a calibração desta
ferramenta em relação ao seu referencial de sua base de fixação.

Figura 3.24: Ferramenta de Soldagem de um Robô.

Para a calibração da ferramenta terminal do robô em estudo desenvolveu-se um


procedimento para identificação dos parâmetros geométricos (dimensões) da ferramenta
terminal que esta anexada no robô.

O procedimento descrito a seguir, já esta incluído no controlador do robô ABB, e os


resultados obtidos para identificação das dimensões da ferramenta terminal, são bem
próximos aos encontrados durante o procedimento de calibração da ferramenta do robô.
107

3.3.4.1 – Referenciais de Medição


Considere o ponto de referência P(i) com (dimensão 3 x 1), situado na flange do robô,
onde a ferramenta terminal será fixada (Fig. 3.25). Este ponto (posição-orientação) será
medido em relação ao referencial de medição solidário à base do robô.

Figura 3.25: Referenciais de Medição utilizados.

Assim, o ponto de referência P(i), localizado na flange do robô, poderá ser expresso
pela sua posição (px, py, pz) e orientação (, , ) do referencial fixo à base do robô em
relação ao referencial situado na flange do robô. A matriz de orientação de Euler (3x3) será
expressa por:

onde:
; ;
;
108

com

3.3.4.2 – Implementação em MatlabTM


Para validação da metodologia proposta, foram implementados em MATLAB dois
programas, que permitiram testar o procedimento proposto para a calibração da ferramenta de
trabalho. Para a primeira iteração foram atribuídos o valor inicial 0 para as variáveis
correspondentes a dx, dy, dz, Ψt, θt, Φt, lx ly e lz.

O programa Ferramenta.m, realizada a identificação dos parâmetros da ferramenta


terminal do robô. O arquivo de pontos de teste utilizados neste trabalho, e inseridos neste
programa, foram os obtidos a partir de medições realizadas na planta automatizada de
montagem de veículos da Renault em Curitiba.

O programa Jacobiano.m contém as equações para o cálculo da matriz jacobiana


inversa. As derivadas parciais para a obtenção do Jacobiano foram realizadas em relação a dx,
dy, dz, Psit, Tetat, Phit, lx, ly e lz

Finalmente, os resultados obtidos através da utilização da metodologia proposta neste


trabalho apresentaram resultados muito próximos, ao método existente no controlador do robô
ABB.

3.3.4.3 – Valores utilizados na medição


Coordenadas dos pontos de medida da ferramenta do robô [X Y Z] em mm
;
;
;
;
;

Ângulos de Orientação [Roll, Pitch, Yaw] em graus:


;
;
;
109

;
;

Valores de medição obtidos:


; posição em mm
; orientação em radianos
; dimensão da ferramenta em mm

3.4 Modelagem de uma Plataforma de Stewart-Gough

Manipuladores robóticos são divididos em dois tipos: seriais e paralelos. Os


manipuladores seriais caracterizam-se por barras unidas por juntas seqüencialmente, i.e., uma
barra pode possuir até duas juntas e se ligar diretamente a no máximo a duas outras barras,
formando ou não um ciclo fechado. Os atuadores podem ser as barras, na forma de cilindros;
ou as juntas, na forma de atuadores angulares. Os manipuladores paralelos têm barras que se
ligam diretamente a mais de uma barra, geralmente através de uma estrutura rígida.

Pela sua configuração geométrica, os manipuladores seriais apresentam sua cinemática


direta simples, porém apresentam capacidade de operar em grande volume de trabalho, mas
com baixa capacidade de suportar cargas elevadas. Ao contrário, manipuladores paralelos
possuem características de suportar cargas elevadas num pequeno espaço de trabalho.
Manipuladores híbridos procuram aproveitar um pouco das vantagens destas duas
configurações construtivas. Existem diferentes tipos de configuração geométrica para os
manipuladores paralelos.
110

A estrutura física da plataforma, que é um manipulador paralelo, é bem conhecida e


muito aplicada em uma grande variedade de problemas. Ela foi inicialmente desenvolvida
para simuladores de voos, e atualmente é encontrada em muitas aplicações, tais como teste de
veículos terrestres, entretenimento, simulação de vôos em naves espaciais, etc.

Uma plataforma de Stewart-Gough é um mecanismo paralelo com 6 GL, possuindo


cadeias cinemáticas idênticas. Ela é constituída de uma junta universal, um atuador elétrico
linear e junta esférica, conectada entre a base fixa e uma plataforma móvel, permitindo a
movimentação da mesma em torno dos três pontos solidários à base conectados em atuadores
lineares com movimentos independentes. Esta plataforma pode ser concebida de forma a
suportar cargas elevadas, possuindo um alto grau de precisão de posicionamento (Fig. 3.26).

Figura 3.26: Plataforma de Stewart-Gough.

3.4.1 - Descrição do Projeto Petrobrás-UNICAMP

Este projeto de cooperação científica propôs desenvolver um programa de controle de


uma plataforma de simulação de movimentos da superfície do mar, a partir de dados
correspondentes a descrição do comportamento das ondas marítimas através de parâmetros
correspondentes ao movimento de translação e rotação.

Esta plataforma de Stewart (dispositivo robótico paralelo) é composta de uma base


inferior rígida hexagonal sustentada por seis atuadores lineares fixos a uma base hexagonal
superior através de rótula que permite a rotação do atuador linear, nas quais os ângulos de
fixação são regulares e os lados são iguais três a três As duas bases são unidas por seis
atuadores lineares que determinarão, através de suas distensões, o posicionamento da parte
superior ( Fig. 3.27 ). As juntas que unem os atuadores são esféricas, permitindo um
111

movimento de rotação qualquer, mas não sua translação. Em função da relação de dimensão
da base de fixação superior e inferior será possível ter um posicionamento priorizando a
orientação ou posicionamento da base.

Para a movimentação de cada atuador, este dispositivo permite 4 GL da plataforma


em relação à base. Os outros 2 GL exigidos são fornecidos pelo atuador linear. Cada atuador
da plataforma é constituído de um motor CC acoplado a um redutor e a uma transmissão
mecânica do tipo fuso esférica, permitindo assim, obter uma relação entre o deslocamento
angular no eixo do motor CC (em graus) e movimento linear do atuador (mm).

Figura 3.27: Modelo Geométrico da Plataforma.

A partir das posições iniciais bem conhecidas, a partir de um vetor com entrada de
dados do movimento da onda do mar (posição e orientação), fornecidos pela PETROBRAS
que contém os ângulos de orientação, (, , ) em radianos e a posição (X, Y, Z) em metros,
em relação a um sistema de coordenadas fixo na base da plataforma. Estes parâmetros
permitem encontrar o modelo cinemático inverso desta plataforma, que é obtido de forma
direta, sem qualquer imposição restritiva e sem perda de generalidade para qualquer tipo de
manipulador paralelo.

A posição almejada é obtida através da transformação do vetor associado a cada


cilindro, que é possível tendo as variáveis da matriz de rotação e de translação. Para a
implementação de um programa de supervisão e controle de movimentos desta plataforma,
torna-se importante à modelagem cinemática inversa desta plataforma, ou seja, o
conhecimento das equações que regem seu movimento no espaço operacional.
112

3.4.2 - Definição de Sistemas de Referência

A modelagem geométrica inversa referente ao posicionamento da mesa consistirá na


obtenção dos correspondentes valores de deslocamento (distensão) de cada acionador linear, a
partir de um arquivo de dados fornecidos sobre a movimentação das ondas do mar, em termos
de posição e orientação que descrevem o posicionamento da mesa em relação ao seu ponto
central (ou qualquer outro ponto). A Fig. 3.28 mostra a plataforma desenvolvida e sistemas de
referência associados à mesma.

Figura 3.28: Sistemas de Referência associados à base superior e inferior.

Considerando-se a base fixa, para obter a configuração da parte superior após


translação do seu centro geométrico e rotação em torno deste, basta multiplicar cada vetor
posição da extremidade superior de cada cilindro pela matriz de rotação, descrita em função
dos ângulos de orientação de Euler, que descrevem a movimentação angular absoluta em
relação a um sistema de referência inicial e somá-lo ao vetor de translação desejada do centro
geométrico.

Assim, serão calculadas as coordenadas da extremidade superior dos atuadores


lineares, no momento em que a base está na posição inicial, função dos parâmetros do
modelo. Estes comprimentos serão ajustados a cada variação de posicionamento do centro da
mesa. O módulo do vetor obtido é o comprimento necessário do cilindro para a posição
requerida da parte superior da plataforma.
113

A Fig. 3.29 apresentada a seguir mostra os pontos de referência onde estão fixados os
atuadores, relativos à base inferior e superior da plataforma em estudo, onde os mesmos serão
utilizados para o equacionamento do problema cinemático inverso.

a) Base Inferior b) Base Superior

Figura 3.29: Pontos de Referência de fixação dos atuadores na base superior e inferior.

3.4.3 - Modelagem Cinemática


Seja o atuador linear k o que se deseja controlar para um novo comprimento L,Pi, a
matriz (3 x 6) com as coordenadas inferiores, em que Pij, sua jésima coluna contém as
coordenadas inferiores do cilindro j, Ps a matriz (3 x 6) com as coordenadas superiores.

Considerando as coordenadas superiores e inferiores do atuador linear escolhido


como, respectivamente, Xse Xi, o centro C da parte superior será expresso por:

Para obtermos a descrição do movimento de cada atuador linear, considere um


movimento de rotação da mesa da plataforma em torno de um ponto O, que representa a
movimentação da extremidade superior do atuador linear em relação à Xs, em torno do centro
C. Se desejarmos que o atuador linear passe a ter um novo comprimento L, a nova posição da
extremidade superior Xsn será a seguinte:
114

A seguir, representaremos o efeito de cada rotação individual em relação ao sistema


de coordenadas no centro da mesa (ponto O), calculando assim os versores na direção x, y, z,
correspondentes a esse movimento de rotação unitário:

A matriz M, terá como linhas as componentes dos versores nx, ny e nz e α será o


ângulo entre Xs – O e Xsn – O.

Como nx foi escolhido perpendicular a (Xs – O) e (Xsn – O), a movimentação é uma


rotação pura em torno do eixo direcionado por nx. R é a matriz de rotação, no sistema
representado por M, que transforma Xs em Xsn e transformará as outras extremidades
superiores, ajustando a posição da mesa, bastando converter as coordenadas dos pontos,
subtraindo a nova origem O, e multiplicando as posições por M, multiplicando por R e
reconverter multiplicando por MT, e somando O, para em todos os atuadores lineares.

3.4.3.1 - Cálculo da Matriz de Orientação

A matriz de transformação, que determina as coordenadas de um ponto em relação ao


sistema de coordenadas centrado na parte superior da plataforma, será obtida a partir de
rotações elementares em torno dos eixos X-Y-Z. Essa transformação é realizada pela
115

multiplicação dos vetores posição das extremidades superiores por uma matriz associada ao
efeito de rotação, e adicionar um vetor de translação.

A matriz de rotação é função dos ângulos de Roll, Pitch e Yaw, ou seja, uma
sequencia de rotações em torno dos eixos X-Y-Z. Para obtermos a rotação do vetor posição
dos pontos e não do sistema, precisamos inverter o produto das matrizes de rotação em torno
de X-Y-Z, respectivamente.

Para cada eixo foi calculada a matriz de rotação associada a uma rotação em torno
destes eixos (X, Y, Z), ou seja:

 cos( ) sin( ) 0
Rx = rot ( x,  ) =  sin( ) cos( ) 0
 
 0 0 1

 cos( ) 0 sin( ) 
Ry = rot ( y, ) =  0 1 0 

 sin( ) 0 cos( )

1 0 0 
Rz = rot ( z, ) = 0 cos( ) sin( ) 

 
0  sin( ) cos( )

A matriz de orientação do sistema é obtida pelo produto dessas rotações


independentes, ou seja:

T ( ,  ,  )  rot ( x,  ) rot ( y,  ) rot ( z, )


c c  c s s  s c c s c  s s 
  s c  s s s  c c s s c  c s 
  s c s c c 

com

  nZ 
  ATAN 2 
 c n x  s n y 
116

ny 
  ATAN 2 
 nx 

 sφ a x  cφ a y 
ψ  ATAN 2 
  sφ s x  cφ s y 

Como o sistema é ortonormal, a matriz de transformação inversa será a transposta da


matriz de transformação, ou seja:

1
T ( ,  ,  ) 

 c c s c  s 

  c s s  s c  s s s  c c c s 
 c s c  s s s s c  c s c c 

Esta matriz poderá ser interpretada como aquela que transforma o vetor associado a
cada atuador linear para uma nova configuração, adicionando ainda o efeito de translação,
com:

  nZ 
  ATAN 2 
 c n x  s n y 

ny 
  ATAN 2 
 nx 

 sφ a x  cφ a y 
ψ  ATAN 2 
  sφ s x  cφ s y 

[n s a]: representa o vetor ortonormal que descreve a orientação de um ponto no centro da


base, com as seguintes componentes:


n  n x n y nz 

s  sx s y sz 

a  ax a y az 
117

3.4.3.2 - Modelo Geométrico Inverso

O modelo geométrico da plataforma expressa a posição (X, Y, Z) e ângulos de


orientação (, , ), em relação ao referencial de coordenadas fixo em relação à base da
plataforma inferior, representando uma função de coordenadas generalizadas, correspondente
ao movimento linear das juntas, ou seja:

X i  f ( Li )

onde:
Li  ( L1 L2  L6 ) correspondem ao deslocamento linear de cada atuador,

X i  ( X Y Z    ) : vetor posição-orientação de determinado ponto da plataforma, e;

Este pontos determinam o movimento da base superior base em relação às


extremidades dos seis atuadores lineares deslocados em relação à base inferior desta
plataforma, considerando que o deslocamento destes atuadores será realizado a partir do
conhecimento de uma determinada posição/orientação em relação as coordenadas do centro
de massa da plataforma da base superior e o ângulo de orientação RPY (Roll, Pitch e Yaw).

Cada atuador linear esta associado ao vetor posição X i considerando a extremidade

inferior do vetor posição de cada atuador e o valor do movimento de extensão associado a


cada atuador i, considerando a matriz de transformação associada T ( , , ) e, X iT o novo

vetor de posição correspondente a posição i da base superior da plataforma de movimentação.

X i  T ( ,  ,  ) X iT

A partir do conhecimento das coordenadas de posição das extremidades superiores


dos atuadores lineares da base superior, poderá ser determinado através das equações descritas
anteriormente as coordenadas da nova posição, cuja norma corresponde ao novo tamanho do
atuador linear, ou seja, a diferença entre a dimensão atual e o desejada será a distensão que
deve ser imposta a cada atuador para alcançar a nova posição.
Conseqüentemente, calcula-se a distância entre a extremidade inferior do atuador
linear e sua extremidade superior, onde a mesma é determinada a partir da transformação de
coordenadas. O modelo cinemático da plataforma precisa receber esta informação na forma de
118

um vetor correspondente a posição e uma orientação, na forma de uma matriz de rotação em


ângulos RPY.

Este modelo permite determinar os comprimentos de deslocamento apropriado para


cada atuador linear, para que a plataforma alcance o posicionamento desejado em termos de
posicionamento e orientação que fornece a variação o comprimento de cada atuador linear
( L ), associado à base móvel superior antes e depois do movimento:

L  X iT  X 0  X i  X 0

3.4.4 - Definição dos pontos de posicionamento dos atuadores na Base Superior e


Inferior

Inicialmente, devemos determinar matematicamente a geometria da plataforma na


forma de hexágono; para tanto, atribuímos pontos numerados às extremidades dos cilindros e,
em relação a um sistema de coordenadas absoluto e solidário no centróide da parte superior e
inferior da mesa, podem-se determinar as coordenadas desses pontos em relação ao sistema de
coordenadas centrado no centro de massa da parte inferior, em função da geometria da
plataforma em estudo.

3.4.4.1 - Parametrização do modelo


Os parâmetros  ,  ,  ,  , a, b, d , e , onde h é a altura da mesa superior da plataforma
em estudo (centro de massa) na sua configuração inicial, e a iésima linha de cada matriz
representa as coordenadas da extremidade superior: Ps ou inferior: Pi do atuador linear i,
determinada pela relação entre o sistema de referência fixo entre o sistema de referência fixo
no centro de massa da base inferior.
Cada linha de Pi , Ps representam as coordenadas da base inferior ( A1  A6 ) e

superior ( B1  B6 ) que se encontra extremidade de cada atuador linear. Os parâmetros t =


π/6 (30º) e s = π/3 (60º).

O parâmetro h representa a altura do ponto central da mesa superior da plataforma


(centro de massa). É importante ressaltar que este parâmetro não pode ser exatamente igual
119

altura da base quando os atuadores lineares estiverem recuados, a menos que a inclinação
fornecida seja compensada pela translação, senão teríamos valores negativos de distensão, a
partir de um valor nulo, o que seria uma situação impossível.

com

Ai  1  , As  1 b , Bi  1  , Bs  1 a , Ci  2(  Bi ) cos(t ) , Cs  2(e  Bs ) cos(t ) ,


2 2 2 2

Di  ( Ai  Bi ) cos(t ) , Ds  ( As  Bs ) cos(t )

A seguir, mostramos as coordenadas dos pontos de fixação dos atuadores lineares.


Assim, as coordenadas destes pontos são dadas por:

Ps1  1 / 2.b  e, 1 / 2.(a  b).c(t )  d , h

Ps2   1 / 2.b  e, 1 / 2.(a  b).c(t )  d , h

Ps3   1 / 2.b  e  (2.e  b).c( s) ,  1 / 2.(a  b).c(t )  d  (b  2.e).c(t ) , h

Ps4   1 / 2.a  e,  1 / 2.(a  b).c(t )  d , h

Ps5  1 / 2.a  e,  1 / 2.(a  b).c(t )  d , h

Ps6  1 / 2.b  e  (2.e  b).c( s) ,  1 / 2.(a  b).c(t )  d  (b  2.e).c(t ) , h

ou matricialmente, expresso através dos parâmetros definidos anteriormente:

 As  e Ds  d h
  A e Ds  d h
 s

 A  e  C s Ds  d  C s h
Ps   s 
  Bs  e Ds  d h
 Bs  e  Ds  d h
 
 As  e  C s Ds  d  C s h
120

O mesmo procedimento será realizado para a obtenção das coordenadas dos pontos de
fixação dos atuadores na base inferior da plataforma, ou seja:

Pi1  1 / 2.   , 1 / 2.(   ).c(t )   ,0

Pi 2   1 / 2.   , 1 / 2.(   ).c(t )   ,0

Pi 3   1 / 2.    (2.   ).c( s) , 1 / 2.(   ).c(t )    (   2. ).c(t ) ,0

Pi 4   1 / 2.   ,  1 / 2.(   ).c(t )   ,0

Pi 5  1 / 2.   ,  1 / 2.(   ).c(t )   ,0

Pi 6  1 / 2.    (2.   ).c( s) ,  1 / 2.(   ).c(t )    (   2 ).c(t ) ,0

ou matricialmente, expresso através dos parâmetros definidos anteriormente:

 Ai   Di   0
  A  Di   0
 i
  A    Ci Di    Ci 0
Pi   i 
  Bi   Di   0
 Bi    Di   0
 
 Ai    Ci Di    Ci 0

Para determinarmos as novas coordenadas das extremidades superiores dos cilindros


após uma movimentação arbitrária, considerando que as extremidades inferiores estão fixas
em juntas esféricas. Se considerarmos a movimentação, respeitando a rigidez da peça
superior, dos vetores posição das extremidades superiores, ou seja, temos que aplicar a esses
vetores uma transformação. Para incluir nessa transformação naturalmente as condições de
rigidez da peça superior podem expressar como uma translação do centróide e uma rotação da
mesa. Esses parâmetros coincidem convenientemente com os parâmetros pelos quais o
movimento a ser simulado é conhecido.
121

Assim, as coordenadas desejadas após uma movimentação são obtidas pela equação
a seguir, como mostra a Fig. 3.30 que ilustra a configuração da plataforma antes e depois do
movimento.

Figura 3.30: Plataforma antes e depois do movimento.

3.4.4.2 – Cálculo dos Comprimentos dos atuadores

O comprimento solicitado a cada atuador linear (comprimento do atuador mais curso)


é a norma do segmento da extremidade inferior do atuador até a extremidade superior, esta
determinada através da transformação respectiva de coordenadas. Assim, o comprimento de
cada atuador i quando na sua configuração inicial (recuado) será dado por:

3
L  (P
j 1
s
kj
 Pi kj ) 2 com k  1,,6

O comprimento de cada cilindro i, após a movimentação, ou seja, quando esta na


posição avançada será:

3
L  L   (T j 1
j
1
( ,  , ) Pskj  Pi kj ) 2
122

onde Tj-1 é a jésima linha da matriz de transformação inversa, Pkj é a jésima coordenada do ponto
Pk, com k =1 ,.., 6

E necessário lembrar que a configuração inicial da mesa não deve ser aquela com os
cilindros totalmente recuados, a menos que a inclinação fornecida seja compensada pela
translação, senão teríamos valores negativos de distensão a partir de um valor nulo, o que
seria impossível.

3.4.5 – Parâmetros Propostos

PARÂMETRO VALOR ESPECIFICAÇÃO


H 543 MM ALTURA MÍNIMA DA ENTRE A BASE SUPERIOR E INFERIOR
700 MM LADO MAIOR DO HEXÁGONO DA BASE INFERIOR
300 MM LADO MENOR DO HEXÁGONO DA BASE INFERIOR
80 MM DISTÂNCIA DA NORMAL FACE MENOR DO HEXÁGONO DA BASE INFERIOR ATÉ
O PONTO
100 MM DISTÂNCIA DA BORDA DA FACE MENOR DO HEXÁGONO DA BASE INFERIOR
ATÉ O PONTO
A 300 MM LADO MENOR DO HEXÁGONO DA BASE SUPERIOR
B 300 MM LADO MENOR DO HEXÁGONO DA BASE SUPERIOR
D 80 MM DISTÂNCIA DA FACE MENOR DO HEXÁGONO DA BASE SUPERIOR ATÉ O PONTO
E 100 MM DISTÂNCIA DA NORMAL FACE MENOR DO HEXÁGONO DA BASE SUPERIOR ATÉ
O PONTO
T 30º ÂNGULO MENOR DO HEXÁGONO
S 60º ÂNGULO MAIOR DO HEXÁGONO

Tabela 3.2: Parâmetros Propostos


123

3.4.6 - Implementação do Modelo Cinemático em Matlab-SimulinkTm

Figura 3.31: Modelo completo criado com submodelos no 20SIMTM

3.5 Considerações finais

Este capítulo apresentou o conceito de prototipagem rápida para concepção de sistemas


mecatrônicos, com ênfase na modelagem cinemática e desenvolvimento de metodologias para
identificação de parâmetros de posicionamento destes dispositivos dentro da célula de
trabalho, e também de calibração de ferramentas terminais.

Foi apresentado o desenvolvimento matemático dos dispositivos utilizados nesta tese,


que serão objeto de análise dos próximos capítulos deste trabalho. No próximo capitulo será
dado ênfase neste trabalho de pesquisa na utilização de ferramentas de instrumentação virtual
para a concepção de arquiteturas de controle para sistemas mecatrônicos utilizando técnicas
de prototipagem rápida, utilizando os modelos matemáticos desenvolvidos neste capítulo.

Dentre as principais vantagens da utilização de prototipagem rápida em mecatrônica,


pode-se destacar a possibilidade de programação através de blocos estruturados, com uma
124

modelagem hierarquizada; a utilização de softwares que permitem a modelagem de


componentes mecânicos a partir da simulação do movimento; a análise direta dos movimentos
sem necessidade de derivar as equações; a diminuição do ciclo de concepção e interfaces
convenientes com o usuário, e a possibilidade de implementação de algoritmos de controle
adequados ao problema em estudo.

Dentre os principais inconvenientes, podemos citar que a maior parte destas ferramentas
são dedicadas e desenvolvidas em função das necessidades pela própria indústria, e
apresentam alto custo, e necessidade constante de serem atualizadas.

No próximo capítulo desta tese de doutoramento serão apresentados estudos de caso


industriais, desenvolvidos e implementados durante a realização deste trabalho de pesquisa,
apresentando ferramentas de modelagem de sistemas automatizados, com ênfase na sua
integração em células robotizadas de manufatura e sua utilização através de plataformas
virtuais de automação.
125

Capítulo 4

Estudo de Caso I: Arquitetura de Supervisão e Controle –


Implementação de Células Automatizadas Industriais

4.1 Introdução

Este capítulo aborda metodologias para automação e integração de dispositivos


robóticos em células automatizadas, com ênfase na arquitetura operativa e comando, sistema
de supervisão e controle baseado em rede de comunicação, e sistema de diagnóstico,
controle de gestão e produção.

Para a integração dos dispositivos mecatrônicos inseridos numa célula robotizada


foram utilizados o conceito de instrumentação virtual aplicadas aos dispositivos descritos
nos capítulos anteriores desta tese, baseando-se na utilização de ferramentas de prototipagem
no ambiente LabVIEWTM, constituindo assim uma célula flexível robotizada integrada.

São apresentados estudos de casos industriais baseados na implementação de uma


Plataforma de Stewart, desenvolvimento do sistema de acionamento e controle de um
dispositivo robótico cartesiano (PPP), integração cooperativa de dois robôs industriais com
um dispositivo de posicionamento (PRR) e uma célula automatizada de montagem e
inspeção de produtos.

Esses exemplos práticos foram implementados no Laboratório de Automação


Integrada e Robótica da UNICAMP, e no final deste capítulo são apresentados os principais
resultados obtidos, demonstrando que as metodologias de integração apresentadas se
mostraram eficientes ao desenvolvimentos destas aplicações.
126

4.2 Plataforma de Stewart (Robô Paralelo)

Como foi descrito no capítulo anterior desta tese, este projeto de pesquisa envolvendo
PETROBRAS e UNICAMP, foi implementado no Laboratório de Automação Integrada e
Robótica da FEM-UNICAMP, uma plataforma robótica seis graus de liberdade para
simulação dos movimentos da superfície do mar controlada através do software
LABVIEWTM, a partir de arquivo de dados fornecidos pela PETROBRAS que descrevem o
comportamento de formas das ondulações marítimas expressos em séries temporais
transformadas em parâmetros de posição e orientação.

Trata-se da plataforma de Stewart-Gough, que é um manipulador robótico com


estrutura paralela, bem conhecida e muito utilizada em uma grande variedade de aplicações
industriais, sendo inicialmente desenvolvido para simuladores de vôo, e atualmente é
encontrado em simuladores de comportamento de movimentos veiculares, simuladores de
vôos, naves espaciais, exposições, mecanismos de entretenimento em parques de diversão e
movimentações de peak-place em industrias.

4.2.1 - Descrição e Objetivo do Projeto

A plataforma de Stewart-Gough projetada e construída pode atingir um elevado padrão


de precisão de posicionamento e grande capacidade de carga, uma característica dos
manipuladores paralelos, como discutiremos a seguir. A estrutura de controle implementada
dará ênfase ao controle de posição dos atuadores, não sendo abordada a análise dinâmica da
plataforma como o realizado em outros desenvolvimentos (Luc Baron and Jorge Angeles -
2000 e Cong-Xin Li Min-Jie Liu and Chong-Ni Li – 1992 ).

Como foi descrito no capitulo anterior desta tese, para o desenvolvimento dessa
aplicação foram implementados o modelo cinemático baseado na configuração geométrica
do dispositivo, constituído de uma base inferior, e uma base superior com superfície plana,
onde é fixada uma peça. A partir dos dados fornecidos, relacionados à movimentação do
mar, descritos em termos de posição e orientação, obtemos o posicionamento da plataforma
(problema cinemático inverso).
Através do desenvolvimento analítico do problema em estudo, descritos no capitulo
anterior, foram realizadas simulações em ambiente MATLABTM, e posteriormente essas
127

relações matemáticas foram convertidas para o ambiente de programação visual


LabVIEWTM , permitindo assim, a implementação do hardware de supervisão e controle
deste protótipo, para posterior validação e testes.

4.2.2 - Concepção Mecânica

A montagem de um protótipo que simule a movimentação da superfície do mar, o


modelo da plataforma escolhido permite que este protótipo de manipulador paralelo possa
ser utilizado para simulação de qualquer condição de movimentação, devido à sua liberdade
e às características de precisão no posicionamento viabilizadas através da construção
mecânica.

A plataforma implementada no LAIR-UNICAMP foi baseada num protótipo


comercial, possuindo uma base superior e uma base inferior ligadas por seis cilindros que
habilitam os graus de liberdade, e a mesma deverá ser capaz testar e validar em computador
o modelo teórico desenvolvido e algoritmos de controle de posição (Figura 4.1). Ela é
constituída de uma chapa de metal hexagonal sustentada por seis atuadores constituídos de
cilindros hidráulicos fixos a uma base também hexagonal.

a) Plataforma Comercial b) Plataforma Implementada


Figura 4.1 Plataforma de Posicionamento.

A geometria escolhida da plataforma distribui os esforços nos cilindros, além de


possuir as outras características dos manipuladores paralelos deste tipo, tais como ser
constituído de seis graus de liberdade, associados à rotação e translação, necessários para a
representação completa do movimento do mar.
128

A construção mecânica da plataforma é relativamente simples, sendo constituída de


duas bases de aço de formato hexagonal associadas uma a outra, através de seis atuadores
lineares. Nesta aplicação a base superior possui menor tamanho, permitindo assim, um
maior movimento de orientação da base. Os atuadores são fixados a base superior e inferior
através de mancais e juntas rotuladas, permitindo assim seu posicionamento e orientação. Na
figura 4.2 são apresentadas imagens detalhadas destes elementos antes da montagem final
desta plataforma, e na figura 4.3 é apresentado a utilização desses elementos na sua
montagem final.

a) Base Superior b) Base Inferior

c) Conjunto Mancal – rótula d) Conjunto Montado

Figura 4.2 Elementos Mecânicos da Plataforma de Posicionamento.


129

Figura 4.3 Plataforma de Posicionamento implementada no LAIR-UNICAMP.

4.2.3 Arquitetura Operativa

O controle dos movimentos de cada atuador da Plataforma de Posicionamento é


realizado a partir da geração de sinais de referência de posição para cada atuador linear,
provenientes de gerador de sinais de referência de incremento de posição para serem
enviados a cada grau de liberdade (atuador linear) da plataforma em estudo. O modelo
matemático implementado para obtenção desses incrementos de referência de posição foram
desenvolvidos no capítulo anterior deste trabalho.

O posicionamento desejado do dispositivo será definido através da posição e


orientação de qualquer ponto da plataforma (utilizaremos a posição central), onde através de
uma malha de controle de posição, onde o sinal de referência de cada grau de liberdade será
comparado durante sua movimentação com um sinal proveniente de um sensor de posição
disposto em cada junta do dispositivo (6 GL).

Considerando a complexidade que envolve a movimentação dessa estrutura


mecânica articulada, que se realiza através da composição de movimentos de cada junta que
deverão ser controladas simultaneamente, com possível acoplamento dinâmico entre as
130

mesmas, o que acarreta em características não lineares, uma estratégia simples de controle
(PID desacoplado) poderá ser utilizada, considerando que a baixa velocidade de trabalho do
dispositivo. A figura 4.4 mostra os principais elementos tecnológicos constituintes deste
dispositivo. Os sensores de posicionamento desenvolvidos são constituídos de um
dispositivo com potenciômetro de precisão acoplado a um sistema cabo-polia.

a) Potenciômetro-polia b) Conjunto montado

c) Conjunto atuador-sensor d) Detalhe de montagem


Figura 4.4 Sensor de posicionamento de junta linear.

O hardware utilizado para a implementação da arquitetura de supervisão e


comando, que será descrita a seguir foi o sistema NI Field Point da National Instruments
(NI), onde o mesmo é constituído de uma interface controladora e módulos de entradas e
saídas (figura 4.5).
131

Figura 4.5 - Controlador NI Field Point.

4.2.4 Arquitetura de Controle de Posição de Juntas

Os sinais de referência de posição  p x py pz     podem ser gerados


através de um interpolador de trajetórias gerado em LABVIEWTM (Coutinho, 1993). A partir
da comparação destes sinais de referência com as posições angulares provenientes dos
transdutores de posição lineares de cada junta (atuadores hidráulicos), consequentemente,
consideraremos nesta aplicação o desacoplamento das juntas. Para o controle de
posicionamento deste dispositivo utilizaremos o modelo cinemático desenvolvido
anteriormente para cálculo dos sinais de referencia a serem enviados para cada junta,
considerando o aspecto das juntas não serem acopladas, e a malha de controle de cada junta
ser independente, não sendo considerada a influência da dinâmica dos outros graus de
liberdade sobre uma junta específica (figura 4.6).

Figura 4.6: Diagrama de blocos de uma junta linear.


132

O controle de posicionamento da plataforma em estudo, será implementado a partir


do desacoplamento de cada junta linear (Nogueira, R. G-1995). Um controlador PID
independente para cada um dos 6 GL da plataforma assegurará a realização de movimentos
da mesa, considerando o acoplamento dinâmico das juntas. A partir da obtenção da função
de transferência associada a cada grau de liberdade da plataforma em estudo, serão
calculados em MATLABTM, os parâmetros do controlador de cada junta, para posterior
implementação de um sistema supervisório para controle de movimentos utilizando o
ambiente LabVIEWTM da NI.

A partir das equações obtidas no modelo cinemático inverso, apresentado no capítulo


anterior, podemos implementar um algoritmo para a obtenção dos valores correspondentes
ao deslocamento de cada atuador linear, permitindo assim a simulação utilizando recursos de
animação gráfica disponíveis em MATLABTM, permitindo assim, a visualização
tridimensional correspondentes a movimentação da plataforma em estudo, para validação do
modelo, para posterior implementação no sistema de supervisão e controle implementado
em ambiente LabVIEWTM.

Assim, a partir de um conjunto de dados são gerados de forma sequencial gráficos do


movimento da mesa para cada conjunto de valores, permitindo assim, uma animação da
movimentação da plataforma em diferentes configurações.

Todos os resultados obtidos através da simulação de movimentos são armazenados na


forma de arquivo de dados que são utilizados como sinais de referência para controle das
juntas, a partir de leitura destes arquivos com o hardware de supervisão e controle descrito
anteriormente, conforme mostra a arquitetura de completa de controle, associada aos seis
graus de liberdade da plataforma em estudo é representado através da figura 4.7.
133

Figura 4.7 Estrutura de Controle da Plataforma de Posicionamento (6 juntas).

4.2.5 Arquitetura de Supervisão e Controle

Um programa para supervisão e controle de movimentos foi implementado em em


ambiente LabVIEWTM, uma vez que no momento da montagem do protótipo a comunicação
com as interfaces estará ambientada nesse software.

A linguagem visual desse ambiente é direcionada a criação de interfaces homem-


máquina para sistemas de controle; o resultado de seus projetos é geralmente um aplicativo
dependente com interface gráfica amigável, a partir da programação realizada sob a forma
de diagramas de blocos, as saídas e entradas dos blocos são retornos, e os parâmetros das
funções via de regra, polimórficas, de onde se observa que a abordagem de programação do
ambiente é a orientação a objetos.

4.2.5.1 Estrutura de Controle dos Atuadores

Esse programa computacional se comunica diretamente om a interface de controle NI


Field Point, onde a partir de interfaces E/S, são enviados sinais de referência de
posicionamento da plataforma, provenientes do programa de supervisão e controle
implementado em LABVIEWTM, diretamente sobre cada válvula dos atuadores hidráulicos
associados a cada grau de liberdade, estabelecendo uma malha de controle comparando a
134

posição atual com a posição desejada (erro de posição), permitindo assim a correção em
tempo real, através de um controlador PID implementado em cada um dos graus de
liberdade e esse sinal de erro é encaminhado ao controlador de junta PID.

Conforme foi descrito na parte operativa, em cada um dos atuadores hidráulicos foi
implementado um sensor externo para medida de posição de deslocamento da haste do
atuador, utilizando inicialmente um sistema potenciômetro de precisão, cabo e polia para
medida indireta (baixo custo), sendo proposta posteriormente a troca por um sistema de
medição direta com precisão (régua potenciométrica), onde esse sistema fornece um sinal de
tensão elétrico associado ao seu comprimento de distensão/contração do atuador (ganho). No
modo controle, o programa estará todo o tempo realizando sensoriamento do comprimento
de cada cilindro, comparando com o valor requerido, ordenando avanço ou recuo conforme
a diferença entre comprimento real e exigido.

A implementação do controlador de posição PID para cada junta foi realizado


utilizando em LABVIEWTM, permitindo assim, a leitura de arquivos gerados e validados em
MATLABTM, ou criando através de um editor, arquivos de dados (*.rct), para posterior
execução pela unidade hidráulica.

Com o controle obtido da forma descrita, temos apenas de especificar um tempo de


tolerância para que a plataforma atinja a configuração requerida, pois mesmo que o tempo
seja maior do que o necessário, as ordens de avanço e recuo oscilarão em torno da posição
desejada até estabilização.

4.2.5.2 Tela Principal do Programa Desenvolvido

A tela principal do programa desenvolvido em LabVIEWTM consiste de menus que


definem procedimentos de teste do hardware Field-Point, procedimento de calibração do
dispositivo, um editor manual de trajetórias de movimento, a possibilidade de carregar um
arquivo de trajetória pré-definido e modos de operação (figura 4.8). Dois modos de
funcionamento do protótipo são possíveis de serem executados: movimentação da
plataforma de forma automática ou através de controle manual (figura 4.9).
135

Figura 4.8: Tela principal do programa implementado.

a) Modo Automático
136

Figura 4.9: Tela de modo controle Automático.

b) Modo Manual
Figura 4.9: Telas de Controle.

A movimentação manual dos atuadores da plataforma de movimentação é realizada


através da tela apresentada na figura 4.9b, onde é possível movimentar individualmente
(avanço ou recuo) cada atuador hidráulico. A movimentação automática (figura 4.9b) é
controlada através de um arquivo de entrada, indicando quais cilindros devem atuar, e em
que sentido (arquivo de receitas, de formato LabView - *.rct).

4.2.5.3 Procedimento de Calibração

O procedimento de calibração da plataforma é necessário de ser realizado com certa


frequência, antes de carregar as trajetórias pré-definidas, considerando a necessidade de uma
inicialização inicial dos sensores em relação ao posicionamento da mesa para descrição do
movimento correto da mesa em relação a um referencial fixo no centro da mesma,
denominado “zero robô”. Neste procedimento foi utilizado um robô industrial IRB 140 da
ABB como ferramenta de calibração (figura 4.10),
137

Figura 4.10: Procedimento de Calibração


Neste trabalho foi implementado um procedimento de calibração automática utilizando
um robô industrial que tocava pontos de precisão definidos sobre a mesa, obtendo medidas
precisas de posicionamento, e a partir dos mesmos foi identificado corretamente os
parâmetros do modelo utilizado para definição de trajetórias.

4.2.5.4 Arquivos de Geração de Movimentos da Plataforma

O programa de interface é independente do programa de modelagem implementado,


designado programa de posicionamento, necessário para indicar uma posição exata ou um
caminho de movimentação para a plataforma.

Inicialmente foram utilizadas válvulas de acionamento do tipo on-off. A utilização


deste tipo válvula traz algumas limitações no sistema de controle de posicionamento da
plataforma desenvolvida consequentemente o controle das mesmas é somente no sentido de
movimentação e tempo de parada, necessitando assim, que o arquivo de geração de
movimentos, seja modificado, a partir da implementação de outro arquivo correspondente a
um sequenciamento on-off de movimentação dos atuadores (utilizando como parâmetro o
138

tempo de atuação nas válvulas) permitindo assim, que a plataforma passe, ao longo das
mudanças de direção de atuação, pelas configurações desejadas.

Assim, o controle do sentido de acionamento é realizado a partir de codificação


apresentada no arquivo de saída de dados representados por um par de bits indicando o
sentido e condição de acionamento da válvula, ou seja, um controle lógico. A tabela 4.1
apresenta o principio de implementação: cada cilindro terá associado um par de bits
indicando sentido e condição de acionamento.

Tabela 4.1: Código que determina condição e direção de acionamento dos cilindros.

Esta abordagem limita a precisão do posicionamento da plataforma para grandes


velocidades de operação, uma vez que as posições não podem ser determinadas diretamente,
apenas o conjunto de decisões de acionamento pertinente para chegar até elas. Como nossa
aplicação, requer baixas velocidades de operação, a premissa adotada é perfeitamente
aceitável. Assim, para obtermos a posição requerida, supomos que a velocidade de avanço e
recuo seja aproximadamente constante para todos os atuadores lineares. Assim, sabendo a
diferença entre a configuração atual e a seguinte, estima-se o tempo necessário de atuação da
válvula em cada atuador linear, de modo a reproduzir o movimento próximo ao desejado.

A figura 4.11 apresenta sob a forma de diagrama de blocos o procedimento utilizado


para a geração do arquivo de saídas sequencial para as válvulas, a partir de um arquivo de
entrada típico correspondente aos movimentos de translação e rotação, e sua transformação
para distensões dos atuadores da plataforma em estudo. A figura 4.12 apresenta a tela de
carregamento de arquivos.
139

Arquivo de entradas
(posição-orientação)
Centro da plataforma

Arquivo Distensões dos Atuadores


(6 GL - mm)

Arquivo Binário
Atuação das Válvulas
(6 GL – binário)

Figura 4.11: Geração de Arquivos para movimentação da Plataforma (6 GL).

Figura 4.12: Tela de Carregamentos de arquivos com tempo associado.


140

A utilização de válvulas de ação proporcional permite gerar um sinal de tensão elétrica


proporcional ao deslocamento desejado aos cilindros (função linear). Consequentemente, a
partir dos valores numéricos obtidos no programa de posicionamento implementado as
válvulas proporcionais (tensão ou distensão das hastes dos atuadores), serão gerados valores
de tensão elétrica para movimentação dos atuadores hidráulicos da plataforma, permitindo o
seu posicionamento utilizando o modelo elaborado.

4.2.6 Descrição de Programas implementados em LabVIEWTM

Os parâmetros e os retornos dos blocos dos diagramas em LabVIEWTM podem ter


comunicação com o que se denomina nesse ambiente de “painel”, que nada mais é do que
uma interface com o usuário, enquanto que o diagrama representa o código fonte, numa
analogia com as linguagens de representação textual. A figura 4.13 mostra o diagrama
principal do projeto em estudo.

Figura 4.13 Leitura de dados e o cálculo das distensões dos atuadores (Diagrama Principal)

A linguagem é puramente interpretada, ou seja, não há compilação, o programa


executa interpretando diretamente o diagrama de blocos que descreve seu funcionamento,
assim como as funções em MATLABTM, que são interpretadas através de sua linguagem
textual. As figuras 4.13, 4.14 e 4.15 apresentam alguns dos diagramas de blocos criados em
linguagem LabVIEWTM.
141

Figura 4.14 Programa de Inicialização dos Atuadores Hidráulicos da Plataforma.


142

Figura 4.15: Leitura do arquivo de dados e cálculo das distensões de cada atuador.
143

4.2.7 Resultados

O LabVIEW mostrou-se uma ferramenta muito versátil para implementação do


hardware de supervisão e controle da plataforma implementada no LAIR-UNICAMP, e a
simplicidade do modelo matemático implementado para manipuladores paralelos, facilita a
utilização de hardware reconfiguravel.

Considerando a utilização de sensores de posicionamento, baseados em


potenciômetros de precisão, verificamos que o programa de cálculo de posicionamento da
plataforma de Stewart-Gough implementado é muito dependente das condições de
calibração e inicialização, embora a plataforma implementada apresentou a capacidade de
movimentação requerida pelo projeto (precisão e capacidade de carga).

Em termos de precisão e sistema de controle, a parte operativa poderia ser melhorada,


mesmo acarretando num custo significativo do dispositivo, utilizando-se réguas
potenciométricas para a medida precisa do deslocamento dos atuadores, a partir da obtenção
direta dos parâmetros de movimentação conhecendo-se com precisão o deslocamento dos
atuadores, otimizando inclusive, o procedimento de inicialização proposto neste trabalho.

Na fase de implementação, conseguimos uma noção exata de todas as nuances da


modelagem geométrica com a necessidade de realizá-la em dois ambientes diferentes. Foram
observadas as diferenças e semelhanças entre linguagens visuais e textuais na forma como se
apresentam a um uso em engenharia.

Como possível etapa futura neste projeto de pesquisa pode-se contemplar a


implementação de um controlador local para cada junta baseado em arquitetura
reprogramável FPGA e de um sistema de comunicação entre software e hardware.

4.3 - Dispositivo de Controle de PPP (Robô Cartesiano)

Neste tópico será implementado a arquitetura de Supervisão e Controle num


dispositivo robótico cartesiano com 3 GL (juntas prismáticas) disponível no LAIR-
UNICAMP. Este dispositivo é muito utilizado industrialmente como uma maquina-
ferramenta de controle numérico (CNC), ou fresadora automatizado, podendo ser integrado
numa célula robotizada.
144

Assim, foi proposto no Laboratório de Automação Integrada e Robótica da


UNICAMP o desenvolvimento o retrofitting da Parte Operativa e Parte Comando deste
dispositivo direcionando para ser utilizado numa aplicação de prototipagem de placas de
circuito impresso – Printed Circuit Board (PCB), a partir da remoção mecânica de uma fina
camada de cobre ao longo do contorno de cada trilha individual a fim de isolá-la
eletricamente do restante do cobre da placa. Trata-se de um sistema mecânico de grande
precisão, constituída de guias de rolamentos de fuso esférico e acionamento através de
motores elétricos, (Souza, 1998). A figura 4.16 mostra este dispositivo, e o seus
movimentos, e a figura 4.17, apresenta um fluxograma funcional da Parte Comando
proposta para o desenvolvimento desta aplicação.

Figura 4.16: Dispositivo Robótico Cartesiano e seus eixos de movimentação.


145

Arquivo gerado em CAD

passo 1

Dados vetoriais
passo 2

Tratamento

Técnicas de Processamento
de Imagens passo 3

Elementos de Contorno

passo 4

Dados Vetoriais

passo 5

Código G

Figura 4.17: Fluxograma da Parte Comando proposta.

Assim, serão gerados de forma automática, as instruções de usinagem da máquina-


ferramenta a partir dos dados gráficos fornecidos por um programa de CAD ou sistema de
Visão Industrial, a partir de instruções geradas automaticamente pelo pós-processador
implementado para geração de comandos utilizando o código G, linguagem padronizada de
operação de máquinas CNC (Souza, 1998).
146

4.3.1 - Descrição do dispositivo

Dispositivos máquinas-ferramenta (CNC) permitem executar movimentos


automáticos, precisos e consistentes, de acordo com as instruções contidas no programa de
usinagem previamente elaborado, sem necessidade de intervenções por parte do operador.
No entanto, estes dispositivos possuem uma arquitetura de controle pouco flexível e aberta,
e com o passar dos anos podem se tornar obsoletas, necessitando de um retrofitting do seu
sistema de acionamento e controle.

Nesta aplicação serão utilizadas nesse dispositivo, técnicas de prototipagem rápida


descritas nos capítulos anteriores desta tese, para implementação de controle embarcado em
arquitetura aberta, visando rapidez, flexibilidade e precisão. Para a concepção da Parte
Comando, proposta neste trabalho, utilizaremos a solução da o Control Motion da NI,
associado ao ambiente de programação visual LabVIEWTM, tornando um elemento
facilitador, para que esse dispositivo cartesiano opere, a partir de imagens geradas através de
arquivos, ou de uma câmera digital. A figura 4.18 apresenta uma tela típica deste aplicativo
e seus elementos operativos.

Figura 4.18: Tela típica do Aplicativo.


147

4.3.2 Arquitetura Operativa

O NI Control Motion permite a integração de diferentes dispositivos constituintes


do sistema de controle de uma aplicação (supervisor, driver de acionamento e controle,
atuadores diversos, e sensores), constituindo-se assim um elemento facilitador de integração
de dispositivos mecatrônicos (figura 4.19).

Figura 4.19: Elementos integradores do Control Motion da NI

Esta plataforma de desenvolvimento é direcionada a aplicação de controle,


possuindo os principais elementos para a implementação de uma arquitetura de controle,
sendo integrados através de etapas de configuração, protótipo e ambiente de aplicação e
desenvolvimento. A figura 4.20 mostra a aplicação de implementação de uma malha de
controle utilizando o NI Control Motion dentro de uma malha, e etapas necessárias para a
sua configuração, e a figura 4.21 apresenta uma aplicação de prototipagem de uma peça
complexa, utilizando imagem digitalizada e tela de controle em LabVIEW.
148

a) Elementos Básicos de um Sistema de Controle

b) Etapas de Prototipagem a partir do software Control Motion.

Figura 4.20: Sistema de Controle e Etapas de implementação do Control Motion da NI

Figura 4.21 : Control Motion da NI – assistente do software de prototipagem.

Esta plataforma pode funcionar utilizando os sistemas operacionais Windows ou


Linux, apresentando as seguintes características:
149

a) Sistema Operacional Windows e LabVIEW Real-Time Systems


 VIs e funções para LabVIEW, Visual Basic e C
 Measurement and Automation Explorer: permite a configuração do Control
Motion e components e o ajuste de parâmetros de controle dos motores.
b)Outros Sistemas Operacionais
 Hardware de controle Motion DDK
 Linux e drivers VxWorks para sistemas (www.sensingsystems.com)

4.3.3 Arquitetura de Comando


As principais características do NI Control Motion estão baseadas na interatividade
com os diferentes elementos constituintes de uma malha de controle (figura 4.22).

Figura 4.22: Diferentes elementos de uma malha de controle.

O NI Control Motion possui um assistente de software para prototipagem, que


apresenta as seguintes características:
a) Configurabilidade: fácil utilização, e interatividade com o usuário, não necessitando
de nenhuma programação;
b) Programação: alta flexibilidade e facilidade de integrarmos com outros componentes.

Dentre as principais funcionalidades do NI Control Motion podemos destacar:


a) Calculo das trajetórias de referência para cada movimento comandado interagindo
facilmente com o usuário, permitindo o controle de trajetórias para juntas simples ou
mais juntas
150

b) Calculo do torque necessário para acionamento para o drive ou amplificador do motor;


c) Sistema de Supervisão permite o monitoramento completo do sistema e paradas de
emergência;
d) Controlador PID em malha fechada.

Os principais requisitos para especificação do sistema de acionamento (motores) e


drive de potência são os seguintes:
a) O drive do motor deverá ser especificado em função de sua tecnologia: Por exemplo
motores de passo com 2 fases, requerem um drive de potência para motores de passo
com 2 fases, etc.
b) O drive de acionamento do motor deverá ser compatível com as suas características
tais como: corrente de pico, máxima corrente continua, tensão de alimentação, etc.

A figura 4.23 sintetiza dos principais critérios que deverão ser utilizados no
processo de seleção de Motores para acionamento e controle de dispositivos mecatrônicos.
Os principais requisitos para especificação do sistema de acionamento (motores) e drive de
potência são os seguintes:
a) Análise do sistema mecânico;
b) Seleção de Motores e sistema mecânico de transmissão de potência (figura 4.24);
c) Seleção do drive de potência compatível com o motor e escolha do controlador.
151

Figura 4.23: Critérios utilizados para Seleção de Motores (NI instruments).

Figura 4.24: Tipos de Sistemas de Transmissão Mecânica.

Para correta escolha do sistema de transmissão mecânica necessitamos das


seguintes especificações funcionais e tecnológicas:
152

a) Resolução desejada;
b) Dimensões requeridas para operação;
c) Repetibilidade;
d) Capacidade de Carga;
e) Tipo do motor.

Assim, foi implementado no LAIR-UNICAMP uma célula para projeto de circuitos


impressos, onde nossa intenção não é a de substituir os métodos convencionais de
fabricação, como os métodos químicos abrasivos e os de eletrodeposição seletiva de cobre,
mas apresentar uma técnica complementar para a prototipagem rápida e econômica de placas
de circuito impresso, a partir da fabricação da placa definitiva pelos métodos convencionais
(figura 4.25). A figura 4.26 apresenta uma tela típica da implementação proposta.

Figura 5.32: Sistema Implementado.

Figura 4.25 – Proposta de dispositivo


153

Figura 4.26: Tela típica da implementação proposta.

4.3.4 Resultados
Os resultados obtidos durante a etapa de usinagem são apresentados a seguir e
comprovam a eficiência dessa aplicação em termos de precisão de posicionamento, tempo e
custo de implementação da arquitetura proposta usando o conceito de prototipagem rápida.

A figura 4.27 mostra as diferentes fases da implementação proposta para esta


aplicação, desde o layout do PCB gerado através de CAD (a), os resultados da digitalização
realizada com extração de contornos (b), chegando-se a confecção final da placa de circuito
impresso proposta neste estudo (c).
154

a) Layout PCB gerado em CAD. b) Digitalização com extração de


contornos.

c) Confecção Final da Placa de Circuito Impresso.

Figura 4.27: Diferentes fases da implementação proposta.

4.4 - Dispositivo de Posicionamento PRR para trabalho cooperativo de 2 robôs

4.4.1 - Descrição e Objetivo do Projeto


Esta implementação é baseada na coordenação e integração de dois robôs
industriais (IRB 140 e IRB 1400 da ABBTM) e uma mesa de posicionamento com 3 GL
(robô PRR), desenvolvida na UNICAMP para auxiliar o trabalho cooperativo de robôs
manipuladores convencionais em trabalhos de usinagem e soldagem de dispositivos
mecânicos complexos que necessitam de mais graus de liberdade para realizarem trajetórias
complexas (figura 4.28).
155

Figura 4.28: Célula integrada de manufatura.

4.4.2 Arquitetura Operativa

Esta plataforma PRR é constituída de três atuadores hidráulicos: onde o primeiro


grau de liberdade possuiu um cilindro de posicionamento para movimentação da base numa
determinada direção (movimento de translação), e os dois últimos graus de liberdade são
responsáveis pela orientação espacial da mesma, possuí dois motores (movimento
rotacional). Os sensores de posicionamento são encoders incrementais (juntas rotativas) e
um potenciômetro linear (junta linear). A figura 4.29 apresenta um detalhamento da mesa de
posicionamento implementada.
156

:
Figura 4.29: Plataforma de posicionamento.

4.4.3 Arquitetura de Comando

O sistema de supervisão e controle foi implementado em linguagem LabVIEW™,


muito utilizado industrialmente, em projetos de dispositivos relacionados as áreas de
medição e controle podem utilizar LabVIEW™ para criar aplicações personalizadas que
rodam em plataformas NI (National Instruments) com E/S reconfiguráveis baseadas em
FPGAs. Juntos, o LabVIEW™ FPGA e o hardware NI para E/S reconfiguráveis permitem a
criação de uma plataforma flexível para o desenvolvimento de sistemas sofisticados que
antes somente eram possíveis com hardware projetado de forma dedicada.

O software LabVIEW™ pode ser usado para controle e supervisão. O controle das
juntas robóticas é realizado através de uma interface A/D que comanda os motores das
juntas. Um programa de supervisão e controle, residente num computador é responsável pelo
gerenciamento e controle das informações provenientes de sensores e atuadores do sistema.
157

Uma interface de visualização implementada em ambiente Windows, foi


desenvolvida telas de supervisão que coletam as informações dos sensores, dos programas
de tratamento matemático (modelagem cinemática da mesa), as informações sobre o sistema
(velocidade, parâmetros do regulador, números de pontos da trajetória, etc), da inicialização
e da calibração automatizada.

A interface de aquisição de dados utilizada neste trabalho foi a PCI 9112 da


ADLINK Technology. Esta interface recebe as informações provenientes dos encoders e do
potenciômetro para determinação da posição atual das juntas constituintes da mesa. Estas
informações são comparadas com os valores de referência, logo após esta interface calcula o
algoritmo de controle envia para a saída do controlador enviando estas informações
(posição, velocidade) aos acionadores de cada grau de liberdade da mesa (fig. 4.30).

Figura 4.30: Esquema do sistema controlado.

Todos os valores de referência são calculados em tempo real, mesmo a cinemática


inversa com as altas não linearidades. Outros tipos de sensores podem ser incluídos na
bancada ou simplesmente através de uma VI (Virtual Interface) do software LabVIEW™. O
projeto de uma VI, deverá conter os seguintes elementos de base:

a) Painel Frontal: interface interativa entre o usuário e o programa. É onde o usuário entra
com os dados usando o mouse ou o teclado, e então vê os resultados na tela do
158

computador. Isto significa que o Painel Frontal é uma janela de execução, onde são
encontradas as entradas de informação (control) e as saídas de informação (indicator)
b) Diagrama de blocos: É a representação de um programa ou algoritmo. É onde o
programador cria o seu programa. O programa consiste de menus que definem a
movimentação automática ou manual da mesa. A movimentação manual é determinada
apenas indicando quais motores devem ser acionados. A movimentação automática é
controlada pelo programa desenvolvido para tal fim (figura 4.31).
c) Tela principal: A ser utilizada para o controle direto da plataforma, foi elaborado um
programa em linguagem visual. Esse programa de interface se comunica com a placa de
interface com o hardware, a qual controla diretamente os motores (figura 4.32).
d) Telas secundárias: contendo os diagramas de conexão de cada bloco: Os diagramas são as
conexões de cada bloco, e apresentam características específicas ao projeto
implementado, de acordo com os elementos que serão implementados na VI, as conexões
são realizadas neste painel.

Figura 4.31: Tela diagrama de blocos implementados em LabVIEWTM.


159

a) Supervisão e Controle

b) Teste E/S
Figura 4.32: Telas implementadas para o sistema de Supervisão e Controle.

4.4.4 Resultados
Essa aplicação possibilitou a aplicar os conceitos estudados nos capítulos anteriores
desta tese, através de um estudo prático de integração de diferentes dispositivos
mecatrônicos numa célula robotizada, onde podemos verificar as metodologias de integração
e a necessidade de um planejamento de forma a permitir que as funções de cada dispositivo
a ser integrado estejam bem determinadas e ocorram de forma sincronizada para estabelecer
a funcionalidade desejada No próximo capitulo será apresentado a utilização desse
dispositivo mecatrônico trabalhando de modo cooperativo com dois robôs industriais
ABBTM.
160

4.5 - Célula Automatizada de Montagem e Inspeção de Produtos

Um fator de grande importância industrial consiste na redução de tempo de


desenvolvimento de um produto com a diminuição do número de etapas, gerando a produção
de novos e diferenciados produtos. Isso é indispensável no mundo globalizado e
particularmente necessário nas indústrias de alta tecnologia, como por exemplo, no que diz
respeito à implementação de controladores cada vez mais rápidos e eficientes.

Muitos processos e produtos técnicos nas diferentes áreas da engenharia,


principalmente na engenharia mecânica e elétrica, apresentam uma integração crescente dos
sistemas mecânicos com processamento da eletrônica digital e de informação. O seu
desenvolvimento envolve a busca de uma solução otimizada entre a estrutura mecânica
básica, o sistema de sensoriamento e o elemento de atuação e controle, através do
processamento automatizado de informações e controle global do sistema.

Tudo isso acarretará no desenvolvimento e utilização de ferramentas para o projeto


simultâneo dos sistemas mecânicos e hardware de acionamento e controle, através da
implementação do software e funções de controle embarcadas dentro de um ambiente de
simulação, tendo como resultado e principal objetivo a eliminação da totalidade ou parte de
protótipos intermediários e a geração de um componente ou um sistema integrado de
controle. Para tal propósito descrito existe um conceito atual denominado prototipagem
rápida de sistemas mecatrônicos.

Nessa última aplicação será descrito a implementação da arquitetura de supervisão


e controle numa célula de manufatura implementada no LAIR-UNICAMP para
Classificação, Montagem, Inspeção e Rejeição de produtos, através da implementação da
arquitetura Hardware (PC) quanto Software (PC) de uma Plataforma Automatizada e sua
implementação em CLP.
161

4.5.1 Descrição da Célula de Manufatura


A célula de manufatura implementada pode ser dividida sub-processos, para
posterior implementação em CLP ( figura 4.33), simplificando a modelagem de cada um
desses elementos, como também a integração dos processos de montagem e movimentação
de produtos, no qual os sub-processos estão associados. Essa integração é especificada
através do GRAFCET para implementá-la posteriormente utilizando linguagem ladder com
estágios em CLPs industriais KoyoTM (RLLPLUS), da mesma forma na qual foi realizada a
modelagem através de RdP. O Sistema de Controle e Supervisão será implementado em
LabVIEWTM.

Figura 4.33: Esquema Geral da Plataforma Implementada.


162

4.5.2 Arquitetura Operativa


A célula de manufatura é constituída de peças que têm que passar consecutivamente
por várias estações: Classificação, Montagem, Inspeção e Rejeição, integradas na plataforma
ICT3, projetada pela empresa BYTRONIC™ (figura 4.34).

Figura 4.34: Célula de manufatura BYTRONIC - ICT3

Esta célula é constituída de sensores: indutivos (4), fotoelétricos (4) e capacitivo


(1), e atuadores: motores CC (1), solenoides (2), botões Liga/Desliga e de emergência. Este
equipamento operativo, programado de forma apropriada permite a realização da montagem
e inspeção de um produto composto por dois tipos de peças (uma base metálica de alumínio
e um anel plástico que é encaixado nesta base). Foi também implementado um dispositivo
robótico com dois graus de liberdade para movimentação e desmontagem de peças refugadas
da esteira de montagem para a esteira de montagem de produtos.
Com o intuito de implementar uma plataforma de experimentação flexível que permita
aos usuários uma reconfigurabilidade dos seus diferentes sub-processos, foi realizado o
163

retrofitting desta célula por duas CLPs industriais Koyo DL-05, possibilitando assim uma
implementação aberta em lógica reprogramável estruturada.

4.5.3 Arquitetura de Comando

A implementação da arquitetura de comando da célula de manufatura foi realizada


inicialmente pelo retrofitting do sistema original dois CLP´s industriais Koyo DL-05, sendo
um deles responsável pelas operações de classificação, montagem, inspeção, rejeição e
movimentação de peças no dispositivo em estudo, e outra responsável pela supervisão e
controle do dispositivo robótico integrado a esta célula de manufatura, permitindo assim, o a
implementação de uma arquitetura totalmente reconfigurável e aberta ao usuário para
futuros desenvolvimentos.

Com a subdivisão do sistema em partes integráveis pode-se alcançar uma maior


MODULARIDADE e, portanto a possibilidade de reconfigurar e trabalhar mais rápido e
facilmente com qualquer um dos módulos da arquitetura proposta, portanto significando
também em uma FLEXIBILIDADE fundamentada na possibilidade de propor novas
aplicações usando os mesmos elementos e o conceito de célula de manufatura integrada com
dispositivos robóticos.

Foi estabelecido uma comunicação bidirecional entre os diferentes módulos


constituintes dessa célula automatizada e o Sistema Supervisor implementado em
LabVIEWTM, utilizando o CLP mestre para realizar a transferência de informação com o
computador, que funciona como uma ponte para a troca de informações de posição no caso
da comunicação entre o supervisor e o manipulador. Para isso, no dispositivo mestre foi
implementado a partir de uma etapa de configuração e direcionamento dos pacotes de dados
para serem corretamente enviados e recebidos.

No computador foi utilizado um OPC (OLE for Process Control) para obter uma
comunicação ON-LINE entre o sistema supervisor e as variáveis do processo. A leitura e
escritura de variáveis entre o supervisor e os dois hólons são configuradas definindo no
diagrama de blocos de LabViewTM os endereços de memória do dispositivo mestre a serem
utilizados. A implementação física deste componente utiliza a especificação serial RS-232C
164

e o protocolo DirectNET. A figura 4.35 apresenta a infraestrutura tecnológica para


implementação da arquitetura de comando proposta neste trabalho.

Figura 4.35: Implementação do Painel de Comando (infraestrutura de comando).

4.5.4 Dispositivo Robótico de Desmontagem e Movimentação de Peças

O sistema robótico de movimentação, concebido no LAIR-UNICAMP (figura 4.36), é


constituído de um manipulador cartesiano (PP) com 2 GL. Considerando a baixa velocidade
do processo e necessidade de precisão de posicionamento, o sistema de acionamento
utilizado para a aplicação foi através de motores de passo, possibilitando os movimentos de
translação: lateral (direção X) e vertical (direção Y).
Este dispositivo robótico foi concebido para realizar a alimentação e movimentação de
peças ou produtos montados, logo após os mesmos atravessarem o módulo de controle de
qualidade. Os produtos são levados desde a esteira transportadora até uma zona de
armazenamento se estes ficarem corretos, caso contrário, estes são desmontados pelo
manipulador que leva então as peças individuais até a cadeia de alimentação, sobre a qual,
165

elas podem ser encaixadas iniciando novamente o processo. A preensão das peças é
realizada a partir da abertura e fechamento de uma garra robótica acionada também com um
motor de passo.

a) Modelagem CAD b) Implementação Final

Figura 4.36: Dispositivo Robótico Cartesiano

O dispositivo robótico desenvolvido apresenta as seguintes características que


fazem com que este possa ser facilmente integrado à plataforma:
 Facilidade na Movimentação do Equipamento (Modularidade): Devido às
dimensões, à configuração (cartesiana) e ao seu peso, o manipulador pode ser
facilmente integrado ao processo de célula de manufatura para trabalhar de forma
conjunta ou também pode ser utilizado de forma isolada para exemplificar processos de
movimentação de materiais.
 Orientação Constante do Efetuador Final: Considerando que os 2 GL de
movimentação do manipulador são cartesianos, e a garra só apresenta movimento de
abertura e fechamento, o vetor na direção vertical (Z) nunca mudará de direção e
sentido, e consequentemente, o espaço de trabalho do manipulador é um plano, como
pode ser verificado através da figura 4.37.
 Simplicidade de Movimentação das Peças: Devido às duas características anteriores,
associadas a decisão de movimentar um grau de liberdade de cada vez, a velocidade da
166

garra na trajetória depende só do valor (pulsos/s) fixado no programa de comando,


mudando somente sua direção.

Figura 4.37: Sistemas de Coordenadas e Espaço de Trabalho.

4.5.4.1 Modelagem Cinemática

Com o objetivo de posicionar automaticamente o manipulador robótico em


posições conhecidas, torna-se imprescindível a obtenção do modelo cinemático associado ao
mesmo. Através da utilização deste modelo será possível comparar as posições: do material
dado pelo sistema de controle de qualidade e do efetuador final calculada através do modelo
cinemático, permitindo assim que o manipulador corrija o erro de posicionamento para
segurar as peças ou produtos automaticamente.

Para a modelagem cinemática do manipulador cartesiano, inicialmente são


definidos os sistemas de referência locais, segundo a convenção de Denavit-Hartenberg,
conforme é mostrado na
Tabela 4.24.2, considerando os parâmetros estruturais do dispositivo robótico
definidos a seguir:
L1=31.5 mm; L2=300 mm; a1=108 mm; a2= 45 mm
167

Tabela 4.2: Parâmetros Denavit-Hartenberg do Manipulador

Art. θ (graus) d a α (graus)

1 90 L1+d1 a1 -90
2 0 L2+d2 a2 0

A matriz de transformação de homogênea associada aos sistemas de referência é


apresentada a seguir (SICILANO et al., 2009):
cos i  cos  i sin i sin  i sin i ai cos i 
 sin  cos  i cos i  sin  i cos i ai sin i 
Ri 1,i  i

 0 sin  i cos  i di 
 
 0 0 0 1 

A equação de transformação desde o sistema de coordenadas da base associada ao


sistema de referência (X0, Y0, Z0), até o sistema de coordenadas associado ao efetuador final
(X2, Y2, Z2), é obtida pós-multiplicando as matrizes de transformação R0,1 e R1,2 como
apresentado a seguir:
R0,2 = R0,1 * R1,2

0 0  1 0  1 0 0 a2  0 0  1  L2  d 2 
1 0 0 a1  0 1 0 0  1 0 0 a1  a2 
R0, 2   * 
0  1 0 d1  L1  0 0 1 d 2  L2  0  1 0 L1  d1 
     
0 0 0 1  0 0 0 1  0 0 0 1 

4.5.5 Implementação Lógica da Arquitetura de Comando

Para implementação lógica da arquitetura de controle proposta para os diferentes


dispositivos constituintes da célula automatizada foi utilizado o formalismo GRAFCET
(SFC), que permitirá uma representação estruturada possível de ser modificada. A figura
4.38 apresenta a metodologia proposta para a especificação e implementação dos sub-
processos na parte de comando.
168

Figura 4.38: Metodologia para Implementação da Logica da parte de Comando.


Inicialmente será implementado o GRAFCET Funcional (Nível 1) que permite
descrever as etapas do processo, e posteriormente o GRAFCET Tecnológico (Nível 2) para
especificar detalhadamente quais as entradas e saídas que são utilizadas finalmente na
integração e implementação dos programas em CLPs.

4.5.5.1 Descrição Funcional do Sub-Processo na Estação de Classificação de Peças


O GRAFCET funcional apresentado na figura 4.39, mostra o sub-processo na
estação de classificação de peças, quando as peças metálicas ou plásticas, estão se
movimentando através da cadeia de alimentação para a estação de classificação através de
duas situações:
a) Caso 1: Se uma peça metálica (pino) seja detectada na estação não será feita
nenhuma ação até esta atravessar completamente a estação e se deslocar pela rampa
correspondente;
b) Caso 2: Se uma peça plástica (anel) seja detectada na estação esta deverá ser
empurrada para se deslocar pela rampa correspondente.
169

Figura 4.39: Especificação GRACET Funcional do Sub-Processo Classificação

4.5.5.2 Descrição Funcional do Sub-Processo na Estação de Montagem

O GRAFCET funcional apresentado na figura 4.40, mostra o sub-processo na


estação de montagem, através de duas situações:
1. Quando um anel plástico chega na comporta de montagem:
a) Caso a estação estiver vazia, a comporta é aberta e o anel plástico é liberado na
estação de montagem;
b) Caso a estação não estiver vazia os anéis vão se acumulando antes da comporta e
será liberado um de cada vez na medida em que a estação vai ficando vazia.

2. Caso que um pino metálico atravesse a estação de montagem e houver um anel nela, a
montagem de um produto será realizada.
170

Figura 4.40. Especificação GRACET Funcional do Sub-Processo Montagem

4.5.5.3 Descrição Funcional do Sub-Processo na Estação de Inspeção


O GRAFCET funcional apresentado na figura 4.41, mostra o sub-processo na
estação de inspeção, onde a operação de montagem é verificada para determinar se foi
realizada com sucesso ou não:
a) Caso seja detectado somente um pino plástico a estação ativará uma variável
para indicar isto;
b) Caso seja detectado um anel plástico montado sobre um pino metálico a estação
ativará outra variável indicando que uma montagem tem sido realizada.
171

Figura 4.41: Especificação GRACET Funcional do Sub-Processo Inspeção

4.5.5.4 Descrição Funcional do Sub-Processo na Estação de Controle de Qualidade


O GRAFCET funcional apresentado na figura 4.42, mostra o sub-processo na
estação de controle de qualidade, onde é detectado se o produto foi montado forma correta
ou incorreta, ou se simplesmente há uma peça metálica sem montar:

a) Caso seja detectada uma peça metálica na estação deve-se indicar isso além da posição
da peça (respeito ao primeiro grau de liberdade) para esta ser pega pela garra do
manipulador;
b)Caso seja detectado um produto incorreto na estação deve-se indicar isto além da
posição da peça plástica (respeito aos dois graus de liberdade) para esta ser pega pela
garra do manipulador;
c) Caso seja detectado um produto correto na estação deve-se indicar isto além da
posição do produto (respeito ao primeiro grau de liberdade) para este ser pego pela
garra do manipulador.
172

Figura 4.42: Especificação GRACET Funcional do Sub-Processo Controle de Qualidade

4.5.5.5 Descrição Funcional do Sub-Processo na Estação de Movimentação de Peças


O GRAFCET funcional apresentado na figura 4.43, mostra o sub-processo na
estação de movimentação de peças, onde um manipular é responsável pela movimentação de
peças:
a) Caso uma peça metálica sem montar seja detectada, o manipulador tem que pegar e
levar esta para a cadeia de alimentação;
b)Caso um produto incorreto seja detectado o manipulador terá que levar primeiro a peça
plástica e depois a peça metálica para a cadeia de alimentação;
c) Caso um produto correto seja detectado o manipulador terá que levá-lo para a zona de
produtos aceitos.
173

Figura 4.43: Especificação GRACET Funcional do Sub-Processo Movimentação de peças.

4.5.5.6 Descrição das E/S


Com base na especificação funcional de cada sub-processo proposto anteriormente
é realizado um levantamento das entradas e saídas da plataforma que são necessárias para a
implementação destes em lógica reprogramável estruturada.

A escolha dos dispositivos para implementar a lógica reprogramável estruturada é


realizada com o objetivo da parte de comando (PC) possuir uma arquitetura aberta. Assim,
foram selecionados dois CLPs industriais Koyo DL05, cuja escolha foi baseada nas
174

premissas de baixo custo, aproveitamento de recursos existentes. Este CLP possui oito
entradas e seis saídas. Para o CLP correspondente à célula de manufatura foram utilizadas
entradas digitais, permitindo a conexão direta dos sensores (indutivos, fotoelétricos,
capacitivo e chave start/stop) e todas as saídas são acionadas por relê (DR), adequadas para
o acionamento de motores cc e solenoides. A distribuição das entradas e saídas (E/S) deste
dispositivo é apresentada na Tabela 4.3.

Tabela 4.3. Relação E/S utilizadas para o Comando da Célula de Manufatura


RELAÇÃO DE ENTRADAS DO CLP
VARIÁVEL ELEMENTO DESCRIÇÃO
X0 SENSOR INDUTIVO 1 Detecta uma peça metálica no sistema de classificação
X1 SENSOR INDUTIVO 2 Detecta a posição recuada do solenoide de classificação
Detecta uma peça (metálica ou plástica) no sistema de
X2 SENSOR FOTOELETRICO 1
classificação
X3 SENSOR FOTOELETRICO 2 Detecta uma peça plástica no sistema de montagem
X4 SENSOR INDUTIVO 3 Detecta uma peça metálica no sistema de inspeção.
Detecta um anel plástico acima da peça metálica no
X5 SENSOR CAPACITIVO
sistema de inspeção.
Detecta um produto ensamblado ou peça sem ensamblar
X6 SENSOR FOTOELETRICO 3
no sistema de rejeição.
X7 CHAVE START / STOP Inicia e detém o processo
RELAÇÃO DE SAÍDAS
VARIÁVEL ELEMENTO DESCRIÇÃO
Y0 MOTOR DC1 Movimento da cadeia de Alimentação
Y1 MOTOR DC2 Movimento esteira de movimentação
Empurra um anel plástico para a rampa de
Y2 SOLENOIDE 1
deslocamento de peças plásticas
Abre comporta para liberar peça plástica no sistema de
Y3 SOLENOIDE DE ROTAÇÃO
montagem

No CLP utilizado para o manipulador, foram utilizados como entradas os sinais das
variáveis auxiliares de comunicação, posicionamento do material sobre a esteira de
movimentação e posicionamento contínuo do primeiro grau de liberdade do manipulador.
Estas informações são fornecidas desde o sistema supervisor; neste caso as saídas deste
dispositivo são todas digitais (DD), permitindo a este CLP determinar qual dos três motores
de passo vai ser ativo e controlar logo para este motor o seu sentido de rotação e a sua
velocidade por meio da frequência de pulso de um sinal de saída de alta velocidade. A
distribuição das E/S deste dispositivo é apresentada na Tabela .
175

Tabela 4.4: Relação Entradas-Saidas para o Comando do Manipulador


RELAÇÃO DE ENTRADAS (Supervisor – Mestre – Escravo)
VARIÁVEL ELEMENTO DESCRIÇÃO
V1400 POSIÇÃO MATERIAL Posição respeito ao primeiro GL
CONTROLE DE POSIÇÃO
V1420 Posição Continua do primeiro GL
CONTINUA
Variáveis de comando e comunicação desde
V40601 VARIÁVEIS AUXILIARES
supervisor e mestre
RELAÇÃO DE SAÍDAS
VARIÁVEL ELEMENTO DESCRIÇÃO
Envia os pulsos para o funcionamento motor de
Y0 PULSOS MOTOR PASSO
passo
Y1 SENTIDO MOTOR PASSO Indica o sentido de giro de um motor de passo
Y2 SAIDA Y2 Ativa o primeiro motor de passo

Y3 SAIDA Y3 Ativa o segundo motor de passo


Y4 SAIDA Y4 Ativa o terceiro motor de passo

4.5.5.7 Implementação dos Sub-Processos nos CLPs


A implementação destes programas é realizada de forma estruturada partindo da
especificação GRAFCET. Foi utilizada a linguagem (Ladder com estágios) RLLPLUS para
implementar as etapas do programa, e a linguagem lógica de contatos Ladder para
implementar os subprogramas, que permite que os sub-processos possam ser facilmente
associados entre eles e com o sistema de supervisão e controle para integrar um processo
completo de classificação, montagem e inspeção (célula de manufatura) e movimentação de
produtos (manipulador robótico) na parte operativa da plataforma.
Esta estruturação facilita a implementação dos programas num CLP, a qual é
imediata ao associar as etapas no programa com as etapas no diagrama GRAFCET
tecnológico, garantindo a modularidade e generalidade. Para realizar a edição e compilação
do programa foi usado o software Koyo DirectSOFTTM.

A validação dos subprogramas em linguagem RLLPLUS correspondentes a cada sub-


processo é realizada através da implementação de um processo completo e de
funcionamento contínuo (comandado pelo botão START/STOP) que os integra utilizando
para isto os CLPs e a interface de controle, adicionando o sistema de Supervisão e
Comando. O diagrama de integração proposto na validação dos sub-processos, o qual
176

descreve a implementação do processo completo em lógica reprogramável estruturada pode-


se observar na

Figura 1.

Figura 1: Diagrama de Integração utilizado na Validação dos Sub–Processos.

4.5.6 Implementação do Módulo de Supervisão e Controle


O sistema de supervisão e controle implementado mostra por meio de Indicadores
em uma tela esquemática o estado das variáveis significativas do processo, informando ao
usuário sobre o que esta acontecendo na parte operativa da plataforma e permitindo-lhe
comandar por meio de Controles um funcionamento desejado, este sistema emula um
instrumento virtual (VI). A

Figura 24.45 apresenta a tela do módulo de Supervisão e Controle no ambiente


LABVIEW™.
177

Figura 2: Instrumento Virtual de Supervisão e Comando implementado.

O software de supervisão e controle foi estruturado através de blocos com funções


básicas, (figura 4.46), sendo criadas de forma esquemática e modular as seguintes fases:
 Comunicação com a Parte Operativa: Permite a troca de informações entre certos
elementos e suas variáveis associadas na plataforma automatizada (Tabelas 4.5 e 4.6)
através de uma interface computacional flexível e aberta. O sistema de comunicação
deve suportar o volume de informações oriundo das variáveis do processo e garantir
um tratamento ON-LINE segundo o ambiente definido;

Tabela 4.5: Indicadores Implementados no Sistema Supervisor

ESTAÇÃO DE CLASSIFICAÇÃO
INDICADOR VARIÁVEL NO CLP
Peça Metálica em Classificação C1
Peça Plástica em Classificação C4
ESTAÇÃO DE MONTAGEM
INDICADOR VARIÁVEL NO CLP
Peças na rampa V1000
Anel plástico em Montagem X3
178

ESTAÇÃO DE INSPEÇÃO
INDICADOR VARIÁVEL NO CLP
Peça Metálica C25
Produto Montado C26
CADEIA DE ALIMENTAÇÃO E ESTEIRA DE
MOVIMENTAÇÃO
INDICADOR VARIÁVEL NO CLP
Cadeia de Alimentação funcionando Y0
Esteira de Movimentação funcionando Y1

 Integração dos elementos operativos: O sistema supervisor mantém uma conexão


bidirecional com o CLP mestre de forma a transferir informação entre este e os
elementos operativos da célula automatizada com o manipulador utilizando o sistema
de controle de qualidade;
 Iniciação e Posicionamento do Manipulador: possiblidade de inicialização da
posição do manipulador de forma a definir um ponto de HOME, avançando ou
recuando o primeiro grau de liberdade de forma manual, utilizando para isto um
controle na tela do supervisor. Depois da definição de uma posição de HOME é
possível mudar ao modo de funcionamento automático o qual permite ao sistema de
posicionamento pegar os materiais da esteira de movimentação a partir da
informação de posição final levando em conta com o sistema de controle de
qualidade.
Tabela 4.6: Controles Implementados no Sistema Supervisor
CONTROL VARIÁVEL NO CLP
Início Célula C2
Stop Célula C3
Anel na cor amarela C30
Anel na cor vermelha C31
Início Manipulador C20
Stop Manipulador Variável Auxiliar
Encontra peça ou Produto C21
Modo Manual C22
Variável auxiliar e
Avanço até Material
V2310
Variável auxiliar e
Passos ON-LINE
V2317
179

Figura 4.46: Diagrama de Blocos do Instrumento Virtual Desenvolvido

4.5.7 Implementação do Módulo de Controle de Qualidade


Este módulo está associado ao sistema de supervisão e controle para permitir a
integração entre os subsistemas concernente a inspeção e controle de qualidade e dispositivo
robótico, oferecendo a possibilidade de realizar a detecção de produtos diferenciados pela
cor do anel plástico acima do pino metálico. Portanto a utilização desde módulo, associado
dentro de um processo integrado permite o desenvolvimento de várias atividades em
mecatrônica, acrescentando flexibilidade à proposta de atividades com a plataforma.

O algoritmo de tratamento de imagem foi desenvolvido para o sistema de controle de


qualidade, permitindo a detecção de diferentes materiais quando estes se movimentam
através da esteira como é descrito a seguir:
 Uma peça metálica sem anel acima;
 Um produto correto montado, a cor do anel (amarela ou vermelha) acima de peça
metálica determina se o produto é correto ou não;
180

 Um produto incorreto montado, cuja cor do anel não é a determinada pelo usuário.

Além do processamento das imagens para a classificação de materiais, este sistema


detecta a posição do produto respeito ao primeiro GL do manipulador, essa posição é logo
comparada com a posição atual (ON-LINE) do manipulador (determinada através de seu
modelo cinemático), de forma a este corrigir o erro e pegar a peça. Assim, quando este
sistema detecta a presença de materiais sobre a esteira de movimentação, informa ao módulo
de supervisão para parar o movimento da esteira até o manipulador pegar e levar as peças
para a zona adequada e voltar para sua posição de recuo. O sistema de controle de qualidade
confere as informações calculadas pela estação de inspeção, e quando for necessário também
pode funcionar sem depender desta. A informação do sistema de controle de qualidade
também poderia ser utilizada de maneira estatística em um trabalho futuro com o intuito de
testar e estudar modelos de gestão da produção.

A implementação do software de processamento de imagem para o módulo de


controle de qualidade é realizada utilizando o software: NI - Vision Builder for Automated
Inspection da NATIONAL INSTRUMENTSTM, o qual fornece ferramentas de forma que o
algoritmo desenvolvido possa logo ser facilmente integrado no diagrama de blocos do
sistema supervisor implementado em LabVIEWTM. Dentro do diagrama de blocos ( Fig.
4.47 ), a aquisição das imagens é realizada utilizando as ferramentas do componente NI-
IMAQ Vision Acquisition Software. A parte física do módulo foi implementada com uma
câmera (KOCOM 260x Power Zoom Câmera, Modelo: kzc-261), conectada ao computador
através da interface IMAQ PCI-1405.
181

Figura 4.47: Diagrama de Blocos do Sistema de Controle de Qualidade

O algoritmo de processamento de imagem leva em consideração uma sequência de


operações sobre a imagem original tirada pela câmera (figura 4.48). Na primeira parte do
processo, são selecionadas dentro da imagem somente as partes com a cor desejada para o
anel na montagem final, isto é realizado através das operações de limiarização (figura 4.49a)
e binarização (figura 4.49b). Logo o sistema busca na imagem resultante por qualquer
contorno circular dentro de uma área determinada (figura 4.50a), de forma a identificar um
anel plástico quando está atravessando a estação de controle de qualidade. Caso seja
detectado um anel dentro da área selecionada o sistema informa sua posição desde o extremo
superior da imagem (figura 4.50b), de maneira a enviar logo esta informação para o
manipulador pegar a peça ou produto de maneira adequada.

Figura 4.48: Imagem Original Capturada pela Câmera


182

a) Limiarização b) Binarização

Figura 3: Processos Realizados Sobre a Imagem

a) Detecção de Contorno Circular b) Obtenção da Posição da Peça

Figura 4.50: Identificação da peça

Este módulo utiliza a estação de controle de qualidade (hardware) poderá ser integrado
às outras estações, onde duas informações são utilizadas para comunicação entre o mesmo e
o módulo de supervisão e controle: tipo de material na esteira e a posição deste material com
relação ao primeiro grau de liberdade do manipulador. A implementação do algoritmo que
calcula as variáveis necessárias para representar estas informações foi realizada através de
blocos funcionais do NI - Vision Builder for Automated Inspection.
183

4.5.8 Teleoperação e Weblab

O sistema de supervisão e controle remoto (WebLab) permitirá o comando e


supervisão dos processos na plataforma implementada disponibilizando o instrumento
virtual através da internet (ou LAN), representada na figura 4.51.

Figura 4.51: Arquitetura Geral do Laboratório Remoto.

O usuário pode obter uma realimentação tanto de dados (apresentados através de


indicadores), baseados no protocolo orientado à transmissão TCP/IP e disponibilizados pelo
software LabVIEWTM, como também através de vídeo online por meio da utilização de uma
câmera IP que mostra todo o sistema, e cuja operação está baseada no protocolo de
184

transmissão em tempo real (RTP). Ele também poderá operar remotamente o sistema,
utilizando para isto as teclas de controle disponibilizados na tela do sistema supervisório.
Uma câmera IP poderá ser acessada pelo sistema supervisor através de um algoritmo
implementado com diagramas de blocos (
Figura ), no qual é utilizado o método Navigate da classe IWebBrowser , sendo
configurado dentro deste método o parâmetro URL; de modo que quando o usuário ativar o
controle booleano Atualizar Web, o sistema tem acesso ao endereço http://143.106.9.151
correspondente à câmera IP. Assim um usuário a distancia poderá obter uma realimentação
de vídeo na mesma tela do instrumento virtual enquanto realiza atividades com a plataforma
automatizada.

Figura 4.52: Diagrama de Blocos para Configuração da Realimentação de Vídeo.

Um modulo para conectividade remota foi também implementado no mesmo


programa do sistema supervisor na forma de diagrama de blocos. Na configuração da
conectividade remota do dispositivo é utilizado um modulo de propriedades (Property Node)
no qual são configuradas duas propriedades descritas a seguir:
185

 WebServer:Root Directory Path: Especifica a rota desde a qual o servidor Web


carrega os arquivos que vão ser requeridos pelo dispositivo cliente. Esta propriedade
não pode ser acessada por um dispositivo remoto.

 WebServer:Server Active: Especifica se o servidor Web está ou não ativo, recebe


como entrada uma constante booleana (TRUE ou FALSE). Esta propriedade também
não pode ser acessada ou modificada por uma aplicação remota.

Desta forma é alcançada a operação de teleoperação do dispositivo podendo este ser


utilizado por um usuário à distância como um Laboratório Remoto, no dispositivo remoto
(cliente) deverão ser instaladas algumas bibliotecas do software LabVIEW TM de forma a
este executar todas as funções disponibilizadas no terminal local.

4.6 Considerações Finais

Através dos diferentes estudos de casos envolvendo as metodologias de integração de


dispositivos automatizados e sistemas robóticos utilizando ferramentas de prototipagem
baseadas no ambiente LabVIEWTM, foram utilizados conceitos de instrumentação virtual e
ferramentas descritas nos capítulos anteriores para integração de controle de dispositivo
mecatrônicos dentro da célula.

Os estudos de casos baseados na implementação de uma Plataforma de Stewart,


desenvolvimento do sistema de acionamento e controle de um dispositivo robótico
cartesiano (PPP), integração cooperativa de dois robôs industriais com um dispositivo de
posicionamento (PRR) e uma célula automatizada de montagem e inspeção de produtos,
como exemplos práticos implementados no Laboratório de Automação Integrada e Robótica
da UNICAMP, considerando as premissas de arquitetura hardware – software aberta a
modificações, aproveitamento de recursos disponíveis, baixo custo e integração tecnológica,
demonstrando pelos resultados obtidos que o ambiente escolhido é eficaz e eficiente para a
solução proposta.
186

No próximo capítulo desta tese de doutoramento será apresentada a metodologia


proposta neste trabalho para automação e integração de dispositivos robóticos em células
robotizadas através de estudos de casos, onde as aplicações foram desenvolvidas em
situações práticas que ocorrem na indústria, e poderão ser generalizados para outras
aplicações.
187

Capítulo 5

Estudo de Caso II: Integração de Células Robotizadas

5.1 Introdução

Neste capítulo aborda metodologias para automação e integração de dispositivos


robóticos em células automatizadas, com ênfase na arquitetura operativa e comando, sistema
de supervisão e controle baseado em rede de comunicação, e sistema de diagnóstico, controle
de gestão e produção, constituindo assim o conceito de célula flexível robotizada integrada.

A partir das ferramentas utilizadas nos capítulos anteriores desta tese, utilizaremos o
conceito de instrumentação virtual aplicadas aos dispositivos descritos nos capítulos
anteriores desta tese, que atenda de forma satisfatória uma situação real em relação a uma
implementação virtual de um processo, baseando-se na utilização de ferramentas de
prototipagem no ambiente LabVIEWTM.

A concepção de programação avançada a priori é atenuada no momento em que se


busca uma integração com uma cooperação entre robôs e periféricos, visto que o processo de
trabalho entre os processamentos da unidade de controle acontece de forma multiplexada,
permitindo um entendimento e execução gerenciada no mesmo instante de tempo, e ainda a
possibilidade de executar colaborativamente tarefas previamente escolhidas pelo usuário
(internet), permitindo a sua utilização para ensino à distância.

A validação desses conceitos será apresentada a problemas industriais desenvolvidos


ao longo dos últimos anos no LAIR-UNICAMP, sendo escolhidas três aplicações industriais:
a) Dispositivo Mecatrônico PRR Colaborativo Integrado a Célula Robotizada;
b) Metodologias de Posicionamento de Robôs em Células Industriais; e
c) Implementação de Célula Robotizada Cooperativa através da WEB.

5.2 Dispositivo Mecatrônico PRR Colaborativo integrado a Célula Robotizada

Nesta aplicação será implementado virtualmente uma célula robotizada que atenda
de forma satisfatória uma situação real em relação a uma implementação virtual de um
188

processo. A concepção de uma programação avançada a priori é atenuada no momento em


que se busca uma integração com uma cooperação entre robôs e periféricos, visto que o
processo de trabalho entre os processamentos da unidade de controle acontece de forma
multiplexada, permitindo um entendimento e execução gerenciada no mesmo instante de
tempo.

Uma alternativa de baixo custo e aberta para atualizações e desenvolvimento de


novas soluções foi integrar e implementar uma programação que executa as instruções
programadas através de uma simples lógica de comunicação via porta serial I/O. Essa solução
é sequencial, e atende de forma geral a maior parte dos processos industriais que trabalham
com eventos, não podendo ser utilizado em alguns tipos de processos, exigem respostas
rápidas em relação aos movimentos dos braços robóticos, bem como a sincronização de
movimentos destes dispositivos, que exigiriam uma malha de controle de um sistema
dinâmico abordado em outras soluções apresentadas nesta tese.

No LAIR-UNICAMP foi possível constatar esta condição na programação virtual do


sistema cooperativo, conforme ilustrado na figura 5.1. Assim foi implementada uma célula
integrada de usinagem, constituída de dois robôs ABB: o IRB1400 com capacidade de carga
de 14 kgf, utilizando como ferramenta de final de braço uma tocha de soldagem; IRB140 com
capacidade de carga de 4 kgf e um dispositivo mecatrônico com 3 GL.

Para a execução da programação off-line, consideraram-se os 3GL do dispositivo


mecatrônico como eixos externos do robô IRB 1400. Esta possibilidade é viável no robô real,
possibilitando os ajustes e integração de eixos externos, como dispositivos, a serem
controlados pela unidade de controle do robô.
189

Figura 5.1: Célula Robotizada Colaborativa.

Para validação da plataforma robótica usada para a operação virtual será apresentado
um simulador virtual desenvolvido em ambiente LabVIEW®, representando uma tarefa de
execução de trabalho de usinagem complexa nas cinco faces de um cubo (figura 5.2),
utilizando a plataforma hidráulica PRR, descrita anteriormente, e os dois robôs industriais da
ABB (IRB 140 e IRB 1400).

Figura 5.2: Dimensões do Cubo (mm).

Parte do estudo necessário para o desenvolvimento desta célula foi apresentado no


capítulo 3 desta tese, onde foi descrito o desenvolvimento de um simulador da plataforma
mecatrônica PRR, que é constituído dos seguintes módulos:
 Geração de sinais de referências de trajetórias das juntas;
190

 Acionamento e controle com possibilidade de inclusão do modelo dinâmico não linear


representando o acoplamento das juntas;
 Modelo cinemático direto;
 Interface gráfica de modo a permitir a visualização dos resultados dos movimentos
obtidos através de trajetórias de referências.

5.2.1 Ambiente de Validação e Arquitetura de Funcionamento

Uma infraestrutura complexa para a realização de trabalhos experimentais na área de


robótica nem sempre é possível de ser implementada em conseqüência dos altos custos
envolvidos. Nesse sentido para a implementação desta célula robotizada procurou-se uma
solução adequada, capaz de representar parte de um sistema real sem perder sua generalidade.

A implementação apresentou uma estrutura modular, hierarquizada e aberta, podendo


ser facilmente utilizado para as simulações de outras configurações. A estruturação de tarefas
propostas para esta célula virtual é mostrado na figura 5.3.

Figura 5.3: Estruturação de tarefas.


A figura 5.4 apresenta detalhes de possíveis configurações da célula robotizada
implementada no LAIR-UNICAMP, onde os dois robôs ABB trabalham cooperativamente
com o dispositivo mecatrônico PRR executando e modo colaborativo tarefas de usinagem e
191

cinco faces de um cubo, descrito anteriormente, foi implementado um sistema de supervisão e


controle em linguagem LabVIEW™ (figura 5.5).

a) Vista 1. b) Vista 2.

c) Vista 3. d) Vista 4.

e) Vista 5. f) Vista 6.

Figura 5.4: Célula Robotizada Integrada


192

SISTEMA SUPERVISÓRIO

Figura 5.5: Tela do software supervisório implementado.


193

5.2.2 Descrição do Sistema de Supervisão e Controle

A Parte Operativa do sistema de Supervisão e Controle é constituída de chaves


físicas LIGA e DESLIGA, que tem a finalidade de energizar e desenergizar o sistema
(controladas através do programa implementado na CLP).

A tela implementada no Sistema Supervisório (figura 5.5) implementado em


LabVIEWTM é disposta de:
 Botões Amarelo: dispostos na parte superior da tela do Sistema Supervisório, são
utilizados para posicionar os robôs em movimentos conjuntos ou coordenados, para início
dos trabalhos.
 Botões Vermelho: dispostos nas laterais, esquerda e direita da tela do Sistema Supervisório
são responsáveis pela inicialização dos robôs ABB, integrantes da célula robotizada, e têm
a função de posicionamento e alinhamento individual dos mesmos.
 Botões Laranja: dispostos na parte inferior da tela do Sistema Supervisório, são utilizados
para posicionar a dispositivo robótico PRR na célula robotizada para início dos trabalhos.
Após o posicionamento inicial do dispositivo robótico PRR e dos robôs ABB, o sistema
estará em condições de executar os trabalhos coordenados envolvendo por parte um ou
dois robôs.
 Botão INICIA em amarelo: disposto na parte inferior da tela do Sistema Supervisório, é
responsável pelo inicio dos trabalhos cooperativos entre os elementos integrantes da célula
robotizada (robôs ABB e dispositivo robótico PRR).
 Botão STOP em amarelo: disposto na parte inferior da tela do Sistema Supervisório, é
responsável pela interrupção (parada) temporária da operação realizada do sistema
colaborativo.
 Botão START em amarelo: disposto na parte inferior da tela do Sistema Supervisório, é
responsável pelo reinicio das atividades interrompidas pelo botão STOP. Essas atividades
são reinicializadas a partir do mesmo momento em que foi interrompida.

O Anexo II desta tese são apresentadas as especificações de E/S do dispositivo PRR


integrado a uma célula Robotizada, cujas variáveis foram utilizadas para implementação da
lógica de controle em CLP e no Sistema de Supervisão e Controle elaborado em linguagem
LabVIEWTM.
194

5.2.3 Protocolo de Comunicação

O meio físico (hardware) utilizado para a comunicação (sistema Mestre-Escravo)


entre o sistema supervisório e os CLP´s do Robôs será uma comunicação serial RS485. Este
protocolo foi escolhido, em virtude da existência de mais de um sistema escravo, e este
aspecto não seria é suportado por uma comunicação serial RS232, normalmente utilizada.

O sistema Mestre foi um Computador PC, plataforma Windows XP, executando o


Software LabVIEW™ como sistema Supervisório, e os sistemas escravos foram os CLP´s
interagindo com o dispositivo mecatrônico PRR e os dois Robôs ABB integrantes da célula
robotizada.

Para a Transferência das Palavras de Controle descritas no anexo II desta tese, foi
utilizado um software servidor executado no PC (OPC SERVER). Este servidor OPC transfere
e recebe as palavras de comando, automaticamente entre o mestre e os escravos, não sendo
necessária assim, a utilização ou implementação de recursos de comunicação para testes de
consistência dos dados, como por exemplo: Header´s, algoritmos para testes de Check-summ,
polinômios de consistência, etc.

Assim, todo esse trabalho de comunicação e testes de consistência de dados é


realizado através do OPC SERVER, fazendo com os problemas inerentes a comunicação se
tornem transparentes para o projetista, facilitando a sua implementação. Como o Servidor
OPC SERVER poderão ser utilizados os modelos Matricon, RS LINX, Aromat, etc.

5.2.4 GRAFCET operativo

A seguir, apresentaremos o GRAFCET operativo (figuras 5.6 e 5.7) correspondente à


aplicação proposta de Célula Robotizada Colaborativa, integrando dois robôs ABB e um
dispositivo mecatrônico PRR atuando de forma colaborativa em operações pré-estabelecidas
para usinagem nas cinco faces de um cubo. No Anexo III desta tese são apresentados os
programas implementados para execução de trajetórias dos Robôs ABB trabalhando de forma
cooperativa na Célula Robotizada.
195

Figura 5.6: Estrutura GRAFCET – Parte 1 (início).


196

Figura 5.7: Estrutura GRAFCET – Parte 2 (final).


197

5.3- Metodologia de Posicionamento de Robôs em Células Robotizadas

5.3.1- Célula Robotizada para Soldagem de Veículos

Uma célula robotizada para soldagem de veículos ( figura 5.8) exige o


desenvolvimento de um conjunto de procedimentos para calibração do sistema de referência
do Zero Veículo, que consiste do cálculo do posicionamento real de um determinado robô
constituinte da célula em relação a um determinado ponto de referência (Zero Veículo) para
re-posicionamento do referencial base do robô, permitindo assim a utilização de arquivos de
tarefas gerados através de um software de programação off-line.

Figura 5.8: Célula Automatizada.


Nesta aplicação, serão apresentados programas computacionais implementados em
ambiente Windows a partir do Sistema de Visão da NI. Este pacote de programas foi
designado Programa Gestor (figura 5.9), sendo constituído de quatro módulos básicos
descritos a seguir:
a) Calibração da Ferramenta terminal do robô;
b) Identificação do Zero Veículo através de pontos perfeitamente conhecidos no palete de
medição através do cálculo da nova posição e orientação do robô utilizado;
c) Programa de Conversão de Ângulos de Orientação da ferramenta;
d) Entrada automática de dados do palete de medição.
198

Figura 5.9: Programa Gestor.

5.3.2 Metodologias para Identificação de Posicionamento de Robôs


Para realização de tarefas de precisão que exigem a utilização de softwares de
programação off-line , e utilização de ferramentas dedicadas no dispositivo terminal de um
robô (anexado ao último grau de liberdade) exigem a implementação de procedimentos de
calibração e identificação. O processo de identificação refere-se à obtenção do referencial
“zero robô”, ou seja, o ajuste do referencial teórico (posição e orientação) em relação ao
referencial real, ou seja, onde o robô esta foi montado e posicionado.

Neste trabalho foram desenvolvidos e implementados dois procedimentos que foram


utilizados tanto para calibração da ferramenta de trabalho, como identificação de
posicionamento do robô em relação ao seu referencial de trabalho, ou seja, através de:
a) Contato Mecânico: Método tradicional de identificação que utiliza uma ferramenta de
calibração para ser anexada à pinça do robô de soldagem, utilizando um procedimento
manual através de toques em dispositivo fixado no palete;

b) Visão Robótica: Através do desenvolvimento de software dedicado em linguagem


LABVIEWTM para calibração automática e identificação de pontos do palete através de
sistema de Visão Robótica, sem a necessidade que o operador realize contatos manuais
com a peça.

A figura 5.10 apresenta a metodologia implementada para correção do erro de


posicionamento do robô (cálculo do posicionamento real). Esta metodologia consiste de um
199

novo cálculo do zero de posicionamento (posição e orientação da base do robô em relação ao


palete do veículo), com correção a ser realizada posteriormente no robô.

Figura 5.10: Sistemática utilizada para cálculo do posicionamento.

Durante o desenvolvimento desse projeto as seguintes etapas foram realizadas:

a) Implementação de programa off-line do robô utilizando dimensões reais do processo;


b) Calibração da Ferramenta de Calibração desenvolvida através do toque em diferentes
orientações da haste (procedimento manual) ou no caso do sistema de visão robótica
200

desenvolvido, através da visualização do diâmetro constante de circulo de esfera


colocada num furo de precisão do palete (procedimento Automatizado). Os pontos
adquiridos deverão ser feitos diretamente do robô, e juntamente com as dimensões
aproximadas da ferramenta servirão de informação de entrada do programa de
calibração desenvolvido;

c) Processamento destas informações através do módulo computacional CALIBRAÇÃO


DA FERRAMENTA, permitindo assim a obtenção das dimensões precisas da
ferramenta, que deverão ser utilizadas no programa de calculo do zero do robô;

d) Entrada de dados do palete, através de módulo computacional específico desenvolvido


(PALETE). Neste módulo deverá ser introduzida a seqüência de pontos de calibração
que deverão ser utilizadas no programa CALIBRAÇÂO;

e) Implementação de programa off-line do robô, contendo as dimensões da


FERRAMENTA de calibração, e pontos de precisão do palete e seqüência de
posicionamento, contemplando etapas de aproximação da ferramenta de calibração
(haste ou visão robótica), utilizando as dimensões reais do processo. Com o objetivo de
minimizar possíveis erros, a orientação da ferramenta deverá ser mantida
aproximadamente constante;

f) Carregamento no robô do programa desenvolvido na etapa anterior, e posicionamento


automático da ferramenta em relação ao palete (utilizando a haste de contato no pino de
precisão introduzido nos furos do palete, ou através de sistema de visão robótica, que
deverá visualizar circulo de diâmetro constante na esfera introduzida no furo do palete).
Os pontos adquiridos deverão ser feitos diretamente sobre o robô devendo ser obtido um
arquivo com extensão (*.lsv).

g) Processamento das informações obtidas deste arquivo (*.lsv), que juntamente as


entradas automáticas das dimensões do palete e seqüência de pontos, zero do robô
servirão de informação de entrada do módulo computacional PALETE, que permitirá
assim a obtenção do novo zero do robô em relação ao palete.
201

5.3.3 Requisitos necessários e configuração requerida

Para utilização do procedimento descrito anteriormente, torna-se necessário a


utilização de dispositivos mecânicos, hardware e software, descritos a seguir:

5.3.3.1 Dispositivos Mecânicos

Foi desenvolvida uma ferramenta universal de calibração contendo dispositivo de


fixação da haste de calibração ou câmera CCD, com possibilidade de rotação em diferentes
orientações, permitindo que a mesma se adapte facilmente ao ambiente e espaço disponível de
calibração, conforme descrição a seguir:
a) Dispositivo de Calibração por toque (procedimento tradicional): constituído de pinos
de calibração e uma ponta de precisão a serem introduzidos nos furos de precisão do
palete, para posicionamento da haste de calibração;
b) Dispositivo de Calibração através de Visão Robótica (procedimento automático):
constituída de esfera de calibração a ser disposta no furo de precisão do palete, para
aproximação da câmera CCD, fixada na ferramenta de calibração.

5.3.3.2 Hardware e Software

Além do software industrial de programação do Robô e programação off-line


(ROBCAD) disponibilizados para a aplicação, foi desenvolvido um programa Gestor para
cálculo do Zero do Robô e Calibração da Ferramenta, e um programa de ajuda à
aprendizagem de pontos do palete e calibração da ferramenta utilizando um sistema de Visão
Industrial da NI. Estes aplicativos desenvolvidos trabalham em ambiente Windows, e
requerem como configuração básica (mínima) dos equipamentos necessários para esta
aplicação:

a) Dispositivo de Calibração por toque (procedimento tradicional)


Interface de Visão National IMAQ PCI/PXI – 1407.
Câmera Digital ·Fonte de Alimentação (12V) – GANZ – Modelo YCH-02 – Color-High-
Solution – 24 VAC, 12 VDC - 3,5-10,5 mm 1:1.0 IR 1/3 pol.
Dispositivo para acoplamento a Ferramenta de Calibração.
202

c) Computador
micro-computador PENTIUM III com slot PCI disponível, com memória RAM 128
MB com Monitor de Vídeo SVGA (800 x 600).

5.3.4 Metodologia de Calibração utilizando Visão Robótica


Para automação do procedimento de identificação dos furos de precisão do palete foi
implementado no LAIR-UNICAMP uma ferramenta de calibração utilizando uma câmera
CCD para Visão Robótica anexada à pinça de soldagem, conforme é mostrado na figura 5.11.

a) Sistema de Visão Industrial.

b) Aplicativo de Visão Robótica desenvolvido em LABVIEW.

Figura 5.11: Sistema de Visão Robótica implementado).


203

Para esta aplicação foi desenvolvido um software dedicado em linguagem


LABVIEW para calibração da ferramenta para identificação de pontos do palete, a partir da
utilização de uma câmera CCD, sem a necessidade de contato do operador com a peça. Esses
programas computacionais permitiram a obtenção dos dados necessários para utilização do
conjunto de programas computacionais descritos anteriormente para cálculo das dimensões da
ferramenta e para identificação do Zero Veículo através da medição dos pontos de precisão do
palete pela movimentação do robô.

Consequentemente, foram implementados em linguagem LABVIEWTM, um


programa computacional de Visão Robótica para a calibração da ferramenta e palete de
precisão, tornando-se possível:

a) O ajuste focal e obtenção do diâmetro do circulo de referência a partir de uma


esfera de calibração: permitindo-se assim a configuração dos parâmetros do
dispositivo de visão robótica, que foram utilizados posteriormente para calibração da
ferramenta e identificação do zero do robô a partir do palete de precisão.

b) A calibração da Ferramenta utilizando Visão Robótica: permitindo-se assim a


obtenção de pontos necessários para calibração da ferramenta de calibração adaptada a
pinça de soldagem do Robô (leitura de três pontos, através do mesmo posicionamento,
mas em diferentes orientações da ferramenta do Robô).

c) A obtenção dos Pontos de Precisão do palete pelo robô: permitindo assim, a


obtenção de pontos de precisão do palete através da movimentação do robô,
conservando a mesma orientação da ferramenta.

5.3.5 Descrição dos Aplicativos Implementados

5.3.5.1 Sistema de Calibração (SIST_CAL)

Ao executarmos esse programa é apresentada uma tela inicial do sistema de


calibração (figura 5.12), onde podemos observar duas possibilidades:
a) Configuração de parâmetros: permite configurar todos os parâmetros necessários para
calibração da esfera (busca do diâmetro), ajuste focal, tolerância máxima, etc. Esses
204

parâmetros são salvados automaticamente, permanecendo para serem utilizados por


default, até alteração ou nova calibração pelo usuário;
b) Efetuar a calibração: neste modo, é realizada a calibração tanto da ferramenta quanto do
palete, utilizando os valores de referência obtidos anteriormente e armazenados em
variável de memória.

Figura 5.12: Tela inicial do Sistema de Calibração.

5.3.5.2 Ajuste de parâmetros de calibração


Este módulo permite o ajuste de parâmetros de calibração do sistema de Visão
Robótica (foco e zoom). Ele contém ferramenta de suporte que permite a obtenção do raio
do circulo de projeção da câmera sobre a esfera que deverá ser utilizado como referência no
procedimento de calibração da ferramenta e de obtenção do novo zero do robô (figura 5.13).
205

Figura 5.13: Tela de Calibração de Parâmetros.

Durante o ajuste focal, será permitida a visualização de tolerância de medição, que


poderá ser modificada para mais ou menos em função da precisão desejada durante o
processo.

5.3.5.3 Procedimento de Ajuste Focal


Este procedimento consistirá basicamente do ajuste do foco e zoom da câmera
robótica em torno do diâmetro de uma esfera de calibração, que deverá ser mantido
constante até o processo final de calibração da ferramenta e do palete (obtenção do novo
zero do robô). Após esses parâmetros serem armazenados, os mesmos são utilizados como
default até o final do processo de calibração (o foco e zoom da câmera não poderão ser
alterados, pois isto implicaria numa nova etapa de ajuste de parâmetros). Os seguintes passos
deverão ser utilizados pelo usuário durante o processo de obtenção do raio de referência para
calibração:
206

i) Passo 1: regulagem do foco e zoom da câmera robótica (figura 5.14).


ii) Passo 2: ajuste da câmera em relação a esfera de calibração de modo identificarmos um
circulo de raio constante, que será utilizado a partir desse momento, como sistema de
referencia da câmera. Em outras palavras em qualquer orientação do robô, será
visualizado pela câmera um circulo de mesmo raio.
iii) Passo 3: No momento em que todos esses parâmetros estiverem bem ajustados pelo
usuário, estes valores deverão ser salvos, e permanecerão como default até realização de
novo ajuste e salvaguarda utilizando a mesma tela de ajustes.

a) Ajuste de foco – tela típica.

b) Ajuste de parâmetros de foco.

Figura 5.14: Telas típicas obtidas durante o Ajuste Focal.

A interface de visualização apresentada na figura 5.15 mostra as facilidades de operação


para o usuário. Nesta tela é mostrado o raio do circulo escolhido para referência de
207

calibração. Esse raio aparecerá no momento que o ajuste focal estiver dentro dos limites
mínimos e máximos do software desenvolvido.

Em função da precisão do processo de medida, o usuário poderá ajustar através de


botão especifico a tolerância estipulada por default.

Figura 5.15: Tela de Ajuste do raio de referência da esfera de calibração e tolerância.

5.3.5.4 Procedimento de Calibração


Este módulo é utilizado para a calibração da ferramenta do robô e do palete
(obtenção do novo zero do robô). Quando utilizado para calibração da ferramenta: os três
pontos são obtidos a partir do mesmo posicionamento e alteração da orientação da
ferramenta terminal e no caso da calibração do palete: a orientação da ferramenta é mantida
constante alterando somente o posicionamento da mesma em relação ao palete. A figura 5.16
mostra a tela típica desse módulo que permite:

a) Visualização do círculo de projeção da esfera de calibração, permitindo ao usuário o re-


posicionamento do robô através da aproximação do ponto em vermelho (centro desejado)
ao ponto amarelo (centro de referência).

b) Contém ferramentas gráficas que permitem uma indicação visual do raio do circulo de
projeção da câmera sobre a esfera e posicionamento do robô nas direções XY e também
208

para afastamento ou aproximação da esfera utilizada para calibração, com visualização do


erro médio quadrático ( Fig. 5.17 ) de distância do ponto (vermelho) ao centro (amarelo).

c) Informações para ajuda ao usuário relativo ao valor do raio e desvio quadráticos atuais e
raio e tolerância de referencia.

Figura 5.16: Tela típica do programa de calibração desenvolvido em LABVIEW.


209

Figura 5.17: Tela de Calibração e parâmetros.

5.3.6 Calibração da Ferramenta de Trabalho e Palete de Precisão

5.3.6.1 Calibração da Ferramenta de Trabalho através de Visão Robótica


O aplicativo apresentado anteriormente é um facilitador ao operador do robô para
obtenção de três ou quatro pontos necessários para calibração da ferramenta terminal do
robô, a partir da orientação da ferramenta terminal sobre uma esfera de calibração colocada
como referência em posição fixa no espaço de trabalho do robô, permitindo obter esses
pontos através da mudança de orientação da ferramenta, mantendo sempre o mesmo
diâmetro do circulo de projeção da esfera de calibração utilizada.

Para ajuste do posição da posição atual em relação ao centro do circulo, uma tela de
ajuda a movimentação do usuário nas direções X, Y do robô, permitirá a movimentação
manual do robô pelo operador nestas direções.

Os botões para afastamento ou aproximação da peça serão sinalizados (alteração da


cor do botão) no momento que o raio da câmera saia da tolerância arbitrada, indicando ao
usuário informações para que este aproxime ou afaste a câmera da esfera na direção do eixo
210

Z dentro da tolerância utilizada. O ponto de calibração será considerado preciso no momento


que as setas assinaladas em vermelho desaparecem, aparecendo uma mensagem informando
que o ponto está calibrado.

5.3.6.2 Calibração do Palete de Precisão


Este aplicativo computacional tem como principal objetivo facilitar o operador a
obter os pontos necessários para obtenção do posicionamento da ferramenta terminal do robô
em relação ao palete de calibração. O procedimento apresentado anteriormente para a
calibração da ferramenta é basicamente o mesmo utilizado para calibração do palete,
utilizando-se as mesmas informações obtidas durante a fase de calibração da ferramenta
(diâmetro do circulo de referência da esfera) para obtenção de 3 ou 4 pontos do palete de
precisão, sendo aconselhável que seja mantida a mesma orientação da ferramenta e altura da
mesma em relação ao palete, garantida através do mesmo diâmetro do circulo de projeção da
esfera de calibração utilizada.

5.4 Célula Robotizada Cooperativa através da WEB

A evolução das Tecnologias da Informação e das Telecomunicações através da


utilização massiva da internet passa a revolucionar a Ciência, a Economia e a Sociedade.
Desta forma, a utilização de ambientes educacionais com recursos computacionais permite
um maior acesso a novos conhecimentos de maneira mais rápida, acarretando impactos
sociais e novas áreas de pesquisa e desenvolvimento.

A FAPESP - Fundação de Amparo à Pesquisa do Estado de São Paulo, através do


programa TIDIA – Programa Tecnologia de Informação no Desenvolvimento da Internet
Avançada viabilizou a formação de parcerias entre áreas acadêmicas, governamentais e
empresariais do Estado na área de Tecnologia da informação voltada para especificação,
projeto e implantação de ferramentas aplicáveis ao processo de ensino e aprendizagem,
incentivando o desenvolvimento de novas tecnologias, tanto nas áreas de hardware como de
softwares e redes para o desenvolvimento científico e tecnológico.
211

Assim, será implementada uma rede cooperativa a partir da utilização de um robô


industrial através de sistema de supervisão remota controlada via WEB. Esta célula é
composta de um robô industrial (ABB IRB 1400TM) e um CLP industrial (KOYOTM) que se
comunica com o software LABVIEWTM através de configuração OPC Server, sendo utilizado
também uma WEBCAM com IP fixo, permitindo assim, uma interatividade virtual com
outros usuários.

5.4.1 Ambientes Colaborativos para Ensino e Pesquisa através da WEB

Segundo Traylot et all. (2003), a utilização de ambientes ou plataformas de ensino


deve conter informações que possibilitem que o aprendiz evolua conforme seu ritmo e
flexibilidade. Para tanto, estes ambientes devem promover a integração de conhecimentos,
inovação e experiências para a resolução de pequenos problemas, além de motivar e melhorar
a visualização da continuidade do aprendizado. Visando tais aspectos a utilização de
laboratórios virtuais e a Internet passam a aliados no processo de aprendizagem. A figura 5.18
ilustra as relações apresentadas.

Ambiente Virtual
Integração de conhecimento
Inovação
Resolução de problemas

Laboratório
Prática
Continuidade
Motivação

Teoria
Conhecimento Teórico

Figura 5.18: Aspectos de um Ambiente de Ensino e Pesquisa Virtual


212

5.4.2 Laboratório Virtual em Automação

O Projeto Kyatera está inserido no programa TIDIA, que tem como principal
objetivo estabelecer uma rede de fibras ópticas interligando laboratórios de pesquisa,
desenvolvimento e demonstração de tecnologias da Internet. Dentre os objetivos deste projeto
concernem a implantação de laboratórios controlados através da Internet para o
desenvolvimento de experimentos remotos na área de automação da manufatura e robótica a o
WebLab.

O LAIR-UNICAMP, é um dos participantes deste projeto e têm como principal


objetivo a implementação de um laboratório virtual em Automação baseado na Plataforma
LABVIEW, permitindo ao usuário a utilização colaborativa multi-usuários de plataformas
didáticas disponibilizadas em rede cooperativa de alta velocidade nas instituições EESC-USP,
UNESP e UNICAMP, permitindo assim a capacitação na área através de experimentos
remotos e/ou virtuais.

5.4.3 Proposta de Arquitetura WEB

A figura 5.19 apresenta a rede cooperativa implementada a partir da utilização de um


robô industrial através de sistema de supervisão remota controlada via WEB. Esta célula é
composta de um robô industrial (ABB IRB 1400TM) e um CLP industrial (KOYOTM) que se
comunica com o software LABVIEWTM através de configuração OPC Server. Ao mesmo
tempo esta sendo utilizada uma WEBCAM com IP fixo, permitindo assim sua fácil
visualização via WEB.
213

a) Proposta de Aplicação WEB.

b)Arquitetura de Controle e Supervisão Remota

Figura 5.19 – Proposta de Implementação – Projeto Kyatera.

Uma das etapas principais desse trabalho de pesquisa foi a realização de uma série de
testes envolvendo a integração do software LabVIEW com dispositivos externos (figura 5.19),
dentre eles:
a) Visualização e controle da WEBCAM com o LabVIEW,
b) Comunicação de variáveis (VI) da CLP Koyo com o software de supervisão e
controle implementado em LabView, realizados através do aplicativo OPC Server,
c) Publicação de VI do LabVIEW na rede do Laboratório e externa.
214

A seguir são descritos detalhes da implementação a partir das figuras 5.20, 5.21,
5.22 e das especificações funcionais e variáveis utilizadas no supervisor implementado
em aplicações anteriores.

a) Tela de Monitoramento e Controle de Aplicação WEB.

b) Tela de Comandos implementada.

Figura 5.20: Proposta de pagina HTML - Painel de Controle Implementado em LabView.


215

Célula Robótica controlada através da Internet

c) Célula Robótica mutli-tarefas controlada através da Internet.

Figura 5.21: Tela típica de Implementação em LabVIEW.

Figura 5.22: Tela de Visualização de Câmera CCD WEB CAM com IP fixo.
216

5.5 Considerações Finais

Neste capítulo foram apresentados aplicações industriais para automação e


integração de dispositivos robóticos em células automatizadas, com ênfase na arquitetura
operativa e comando, sistema de supervisão e controle baseado em rede de comunicação, e
sistema de diagnóstico, controle de gestão e produção, baseando-se na utilização de
ferramentas de prototipagem no ambiente LabVIEWTM. Foram apresentadas três situações
industriais desenvolvidos no LAIR-UNICAMP:

a) Dispositivo Mecatrônico PRR Colaborativo Integrado a Célula Robotizada;


b) Metodologias de Posicionamento de Robôs em Células Industriais; e
c) Implementação de Célula Robotizada Cooperativa através da WEB.
217

Capítulo 6

Conclusões e Perspectivas Futuras

A integração de diferentes dispositivos mecatrônicos atuando dentro de um mesmo


ambiente e com um objetivo em comum, geram uma célula robotizada, exigindo o
desenvolvimento rápido e de baixo custo de funcionalidades que obedeçam a uma arquitetura
de controle geral da célula, onde cada dispositivo possui uma interface de comunicação com os
outros componentes da célula e respondem ao comando de um sistema supervisório que faz a
integração de todos os dispositivos.

Ao mesmo tempo, a flexibilização das células robotizadas possibilita que sejam


adaptadas cada vez mais rápidas podendo interferir em uma grande variação de trabalho, dessa
forma, novas técnicas de controle da célula e sua integração são estudadas com a finalidade de
torná-las mais eficientes

Esta tese de doutoramento teve como principal objetivo a utilização de ferramentas


para integração de sistemas mecatrônicos a fim de torná-los mais precisos e eficientes na
execução de tarefas em conjunto dentro de uma célula flexível, aliando conceitos de
prototipagem rápida para a integração dos diversos dispositivos existentes. A integração de
uma célula robotizada deve também incluir a automação de procedimentos, especificação e
desenvolvimento de ferramentas para inicialização, correção de posicionamento e calibração da
ferramenta de trabalho.

A partir da realização deste projeto de Pesquisa torna-se possível a integração de


Células Robotizadas, utilizando os conceitos de Prototipagem Rápida, permitindo assim, o
desenvolvimento, simulação e implementação de células flexíveis robotizadas.

Como principal contribuição desse trabalho podemos destacar que nesta tese de
doutoramento foram realizadas as validações dos conceitos e ferramentas de prototipagem
desenvolvidos e validados nos capítulos desta tese, através da implementação no LAIR-
UNICAMP de diferentes projetos direcionados ao Ensino, Formação e Pesquisa em
Instrumentação Industrial, resultando e disponibilização para alunos de graduação e pós-
graduação, uma célula robotizada integrando dois robôs industriais e um dispositivo
218

mecatrônico PRR para atividades colaborativas através da WEB, uma célula automatizada de
inspeção de produtos e um sistema de posicionamento (Plataforma de Stewart-Gough) para
trabalhar na soldagem de peças complexas cooperativamente com um robô industrial..

Com a utilização das ferramentas apresentadas neste trabalho associados com técnicas de
integração poderão ser facilmente implementadas, testadas e validadas, permitindo verificar os
seus desempenhos com diferentes variações de parâmetros de controle. Esses procedimentos de
prototipagem rápida para a integração de células flexíveis robotizadas baseados em
instrumentação virtual permitem a realização de grande parte do projeto dentro de um ambiente
de instrumentação virtual, diminuindo tempo de projeto e custos envolvidos durante a sua fase
de concepção.

Todos os recursos utilizados para o desenvolvimento desta tese, por estarem envolvidos
com a área de controle e instrumentação industrial, que por sua vez está em constante evolução,
requerem o conhecimento multidisciplinar reunindo informações e conhecimento de diferentes
áreas. A tendência destes recursos é que haja a inclusão de novos conhecimentos pois uma das
características destes elementos é a capacidade de incorporação de técnicas e tecnologias.

São aspectos promissores do ambiente proposto que sugerem uma possível continuidade
desse trabalho de pesquisa enfatizando aspectos relacionados a:

 Flexibilidade: estudo de outras possíveis configurações para implementação de soluções


mais aberta para diversos problemas associados com desenvolvimento de protótipos de
sistemas móveis embarcados.

 Adaptação a tarefas: apenas os recursos necessários a execução de uma tarefa são


utilizados. Sistemas mais simples são tratados com versões mais simples do ambiente
proposto, evitando-se perda de recursos.

 Ambiente aberto: permitir que seus blocos componentes sejam totalmente acessados e
eventualmente modificados para agregar novas soluções.

 Facilidade de expansão: novos recursos podem ser facilmente adicionados a um projeto,


permitindo a adição de novas funcionalidades.

. Desenvolver interfaces para operação de sistemas embarcados cooperativos, como o caso de


vários robôs móveis operando em conjunto para um determinado objetivo.
219

Referências Bibliográficas

Acar, M. Mechatronics Engineering Education in the UK. In: Joint Hungarian British
International Mechatronics Conference, 1994, Budapeste. Proceedings... Budapest:
Computational Mechatronics Publ., 1994, p 763- 769.

Adam, Nabil R., Dogramaci, Ali., Current issues in computer simulation. New York :
Academic, 1979. 292 p.

Aihara, C. K., Projeto e Implantação de Plataforma Didática aplicada ao Ensino e


Pesquisa em Automação, Campinas. Faculdade de Engenharia Mecânica, Universidade
Estadual de Campinas, 2000, 104p. Tese (Mestrado).

Aihara, C. K., Cosso, S. G., Saramago, M. A. P. Rosário, J. M. Desenvolvimento de


Aplicativos para Monitoramento de Variáveis de Controle de Processos Industriais. In:
Aplicon 2001, EEUSP São Carlos, Julho 2001.

Aihara, C. K., Rosário, J.M., Desenvolvimento de Metodologias Aplicadas ao Ensino e


Pesquisa em Automação, In: World Congress on Engineering and Technology Education,
WCETE2004, Santos, São Paulo, Março 2004.

Aihara, C. K., Rosário, J. M., A Methodology Proposal For Teaching And Research In
Automation Using Computer Mediatededucation Tool, In: 11th IFAC Symposium on
Information Control Problems in Manufacturing INCOM2004, Salvador, Brazil, Abril
2004.

Araujo, Emerson dos Santos, Modelagem e Descrição da Parte Comando de um Sistema


Automatizado de Produção utilizando o GRAFCET - Aplicado à uma Plataforma Industrial
em Automação. Campinas: Faculdade de Engenharia Mecânica, Universidade Estadual de
Campinas, 1997, 91 p. Tese (Mestrado).
220

Battesini, M., Sistemas Produtivos, Disponível em:


www.producao.ufrgs.br/webgrad/ENG09014/SP_II_C1.pdf. Acessado em novembro de
2003.

Bosnardo, R. C., Um sistema de videoconferência par educação à distância baseado em


padrões abertos. Dissertação de mestrado. UNICAMP. Faculdade de Engenharia Elétrica,
2001.

Brams G. W. Réseaux de Petri: “Théorie et pratique, tomos 1 et 2, Masson Editions, 1983.

Cardoso, Janete, Valette, Robert, Redes de Petri, Florianópolis: Editora da UFSC, 1997,
212 p.

Cassandras, Christos G., Discrete event systems: modeling and performance analysis. Burr
Ridge : Irwin, 1993, 790p.

Chang de Zhang and Shin-Min Song. Forward kinematics of a class of parallel (Stewart)
platforms with closed-form solutions. Journal of Robotic Systems, 9(1), February 1992.

Cong-Xin Li Min-Jie Liu and Chong-Ni Li. Dynamics analysis of the Gough-Stewart
platform manipulator. Journal of Robotic Systems, 9(1), February 1992.

Coriat, B., Automação Microeletrônica e Competitividade: Tendências no Cenário


Internacional. In, Automação, Competitividade e Trabalho: A Experiência Internacional.
Schmitz, H. & Carvalho, R. Q., Humanismo, Ciência e Tecnologia “Hucitec”, São Paulo,
1988.

Cosso, S. G., Integração de Ferramentas de Automação direcionadas à Aplicações de


Telerobótica - Implementação de um Sistema de Supervisão e Controle num Sistema
Teleoperado, Campinas, Faculdade de Engenharia Mecânica, Universidade Estadual de
Campinas, 2002. 134p. Tese (Mestrado).
221

Coutinho, L, A F.: “Um Ambiente Integrado de Desenvolvimento de Software a


Robótica”, mestrado, UNICAMP, Setembro de 1993.
Cruz, J. M.: “Projeto e Desenvolvimento de um Sistema de Geração Automática de
Trajetória para Manipuladores”, UNICAMP, mestrado, Outubro de 1993.

D’Abreu, J. V. V., Integração de Dispositivos Mecatrônicos para Ensino-Aprendizagem de


Conceitos na Área de Automação, Campinas, Faculdade de Engenharia Mecânica,
Universidade Estadual de Campinas, 2002. Tese (Doutorado).

D’Abreu, João Vilhete Viegas, Construção de um Traçador Gráfico para fins Educacionais,
Campinas, Faculdade de Engenharia Elétrica e Computação , Universidade Estadual de
Campinas, 1994. Tese (Mestrado).

Damásio, D. Tecnologia Educacional. Disponível em:


http://www.superobra.com.br/admin/news.asp?ID_New=1180&Pag=all_news.asp&ID_Se
ssao_New=1&ID_ANew=11. Acessado em: Outubro de 2004.

Daumas, M., Las grandes Etapas Del Progresso Técnico. Fondo de Cultura Econômica, p.
63-123, México, 1983.

Demongodin, I., Koussoulas, N. T., Differential Petri Nets: Representing Continuous


Systems in a Discret-Event World. IEEE Transactions on Automatic Control, vol. 43, n. 4,
pp 573-579., 1998

Dias, C. H.: “Implementação de um Supervisor de Controle para Robôs Industriais”,


mestrado , UNICAMP, Junho de 1993.

Eby, F. História da Educação moderna. 2. ed, Porto Alegre: Globo, 1976.

Ferreira, Edson P., Robótica Básica Modelagem de Robôs, R. Vieira Gráfica e Editora
Ltda. Versão Preliminar Publicada para a V Escola Brasileiro-Argentina de Informática,
Rio de Janeiro, 1991.
222

Frigotto, G., As mudanças tecnológicas e Educação da Classe Trabalhadora: Politécnia,


Polivalência ou Qualificação Profissional?, In: Trabalho e Educação, p. 45-52, Papirus,
Campinas, SP, 1992.

Fayan, B. L.: “Estudo e Especificação de um Supervisor de Controle para um Robô


Industrial”, mestrado, UNICAMP, Dezembro de 1992.

Groover, M., et al. Robótica: Tecnologia e Programação. McGraw-Hill, São Paulo, 1988.

Groover, Mikell P. Automation, Production Systems, and Computer Integrated


Manufacturing USA: Prentice-Hall International, Inc., 1987, 808 p.

Guimarães, E. et al. Real: A Virtual Laboratory for Mobile Robot Experiments, IEEE
Transactions on Education, vol. 46 n.1 February, 2003.

Hartley, S. et al. Enhancing teaching using the Internet: report of the working group on the
World Wide Web as an interactive teaching resource. In: Conference on Integrating
Technology into computer Science Education, Barcelona, 1996. Disponível em:
http://doi.acm.org/10.1145/237466.237649. Acessado em agosto de 2002.

Heer, D., Traylor, R.L., et al. Enhancing the Freshman and Sophomore ECE Student
Experience Using a Platform for LearningTM. In: IEEE Transactions on Education, vol 46,
n. 4, p. 434-446, novembro 2003.

Hervella, C.: “Projeto e Desenvolvimento de um Sistema de um Controlador Programável


Flexível para Manipuladores e Robôs Industriais”, mestrado, UNICAMP, maio de 1995.

Huber P., Jensen K., Shapiro R. M.; "Hierarchies in Coloured Petri Nets"; In: G.
Rozenberg (ed.); Advances in Petri Nets 1990; Lecture Notes in Computer Science, vol.
483, Springer, 1990, pp. 313-341 e em "High-level Petri Nets - Theory and Application";
K. Jensen, G. Rozenberg (Eds.); Springer-Verlag; 1991; pp. 215-243
223

Jensen, K. An Introduction to the Practical Use of Coloured Petri Nets. In: Lecture Notes
on Computer Science n. 1492, p. 237-292, 1998. Disponível em:
http://www.daimi.au.dk/~kjensen/papers_books/rec_papers_books.html Acessado em
fevereiro de 2003.

Jocarly, P. S.: “Procedimento Automático para Aquisição e Tratamento do Movimento de


um Robô, mestrado, UNICAMP, Dezembro de 1992.

LDB, Decreto no.2494 de 10 de fevereiro de 1998. Regulamenta o Art. 80 da LDB (Lei no.
9394/96). Disponível em: http://www.mec.gov.br/sesu/ftp/dec_2494.doc. Acessado em
2000.

Lepkison, H.A., Qualidade da Manufatura Assegurada por Computador, In: Manufatura


Integrada por Computador: Contexto, Tendências Técnicas, org. Marilia Markus & Pyrano
P. Costa Junior, Fundação CEFETMINAS, Belo Horizonte, 1995.

Loyolla, W., Prates, M., Educação a Distância Mediada por Computador (EDMC) – Uma
Proposta Pedagógica, Revista Brasileira de Educação a Distância, v.5, n.29, p. 3-18, 1998.
Machado, S.R.L. Mudanças tecnológicas da classe trabalhadora, in Trabalho e Educação,
Campinas, p. 9-25. Papirus, 1992.

Luc Baron and Jorge Angeles. The direct kinematics of parallel manipulators under joint-
sensor redundancy. IEEE Transactions on Robotics and Automation, 16(1), February 2000.

Luc Baron and Jorge Angeles. The kinematic decoupling of parallel manipulators using
joint-sensor data. IEEE Transactions on Robotics and Automation, 16(6), December 2000

Manacorda, M. A.,História da Educação, 3 ed. São Paulo, Cortez, 1992.

MathWorks Inc. MatLab - User’s Guide.

Matos filho, M. V., Santos, W. R., Redes de Petri. Disponível em:


http://www.unigran.br/biblioteca/producaointelectual/rede_de_petri.pdf . Acesso em 2004.
224

Melo, J.J.L, Sobreira P.L., Petri Net. Disponível em:


http://www.jameson.hpg.ig.com.br/introd.html, Acessado em agosto de 2003.

Meneghel, L., Desenvolvimento de Laboratórios Virtuais para o ensino fundamental e o


ensino superior., Campinas, Faculdade de Engenharia Elétrica e de Computação,
Universidade Estadual de Campinas, 2003. Tese (Mestrado).

Meriam, Kraige: Dinâmica, LTC, 1996.

Miranda, M. F.: “Controle de um Servomecanismo por um microcomputador Dedicado:


Uma contribuição ao Estudo de Controladores para Robôs Industriais”, mestrado,
UNICAMP, Agosto de 1992.

Moore, M.G., Kearsley, G., Distance Education: a system view. Belmont: Wadsworth
Publishing Company, 1996.

Moore, M. G. Theory of transactional distance. In: KEEGAN, D. (ed) Theorical principles


of distance education. London and New York: Routledge, 1998.

Morcelli, João Carlos de Moraes, Simulador Seqüencial de sistemas de Filas. Disponível


em: http://www.inf.pucpcaldas.br/~morselli/ , Acessado em Agosto de 2004.

Monroe, P., História da Educação, 9 ed. São Paulo, Companhia Editora Nacional, 1970.

M. Shahinpoor. Kinematics of a parallel-serial (hybrid) manipulator. Journal of Robotic


Systems, 9(1), February 1992.[8] Irene Hyna Tobias Oetiker, Hubert Partl and Elisabeth
Schlegl.

Murata, T. Petri Nets: Properties, Analysis ans Applications; Proceedings of the IEEE, vol.
77, nº 4, Abril 1989, pp. 541-580.
225

Nascimento, R. B., Trompieri Filho, N., Correio Eletrônico como recurso didático no
ensino superior – o caso da Universidade Federal do Ceará, In: Ccia da Informação v.31,
n.2, p.86-97, maio/agosto de 2002.

National Instruments. LabVIEW - User Manual, July 2000.

National Instruments, Ni Developer Zone: Virtual Instrumentation for Test, Control, and
Design. Disponível em:
<http://zone.ni.com/devzone/conceptd.nsf/webmain/E55C5FC8AC3111DE86256FEE0040
65AD?OpenDocument&node=201805_US>. Acesso em 25 jan. 2006.

National Instruments, Ni Developer Zone: Software's Role in Virtual Instrumentation.


Disponível em:
<http://zone.ni.com/devzone/conceptd.nsf/webmain/E7F7F3EA19D776F686256FEE0040
C455>. Acesso em 15 mai. 2006.

National Instruments, Ni Developer Zone: Hardware's Role in Virtual Instrumentation.


Disponível em:
<http://zone.ni.com/devzone/conceptd.nsf/webmain/AB848C738E0DD42086256FEE0040
E85F>. Acesso em 10 jun. 2006.

National Instruments, Ni Developer Zone: Virtual Instrumentation and Traditional


Instruments. Disponível em:
<http://zone.ni.com/devzone/conceptd.nsf/webmain/446E90868BEE72DD86256FEE003F
F6F4>. Acesso em 10 jun. 2006.

Nélis, J., Laloup, J. Homens e máquinas, Herder, São Paulo, 1965.

Nogueira, R. G.: “Controle de Posição e Orientação de um Manipulador através de um


Mouse Espacial”, mestrado, UNICAMP, março de 1995.

Nunes, I.B., Noções de educação a distancia. Disponível em:


http://www.intelecto.net/ead/ivoniol.html . Acesso em 2002.

O’Brien, As Máquinas, Livraria José Olympio Editora, Rio de Janeiro, 1964.


226

Otsuka, J.L., Fatores determinantes na efetividade de ferramentas de comunicação mediada


por computador no ensino à distância. 1996. Trabalho de conclusão de curso. INSTITUTO
DE Informática, Universidade Federal do Rio Grande do Sul, Porto Alegre. Disponível em:
http://penta2.ufrgs.br/pesquisa/joice/joice.ti.html. Acessado em agosto de 1998.

Peters, O., Didática do Ensino à Distância, São Leopoldo, editora Unisinos, 2001.

Peterson, J. L. Petri Net Theory and the Modeling of Systems; Prentice-Hall, Inc.; 1981

Queiroz, L. R. Um laboratório virtual de robótica e visão computacional. Campinas,


Instituto de Computação, Universidade Estadual de Campinas, 1998. Tese (Mestrado).

Quartiero, E.M., As tecnologias da informação e comunicação e a educação. Revista


Brasileira de Informática na Educação, n.4, junho de 2000. Disponível em:
http://www.inf.ufsc.br/sbc_ie/revista/nr4/

Queiroz, L.R., Um Laboratório Virtual de robótica e visão computacional, Dissertação de


Mestrado, UNICAMP, Instituto de Computação, Campinas, 1998.

Ramadge, P. J. Wonham, W.M. “The Control of Discrete Event Systems. Proceedings of


the IEEE, v. 77, n. 1, 1989

Rezende, F., Tecnologia e Educação, Curso de Pós-Graduação em Docência do Ensino


Superior, UFRJ, Rio de Janeiro, 2000.

Rosário, J. M. Princípios de Mecatrônica, São Paulo: Pratice Hall, 2004


Rosário, J.M.; Messina, L.P.C.; Aust, E.: “Development of Supervisory Control of
Advanced Robots for Underwater Tasks”, Mechatronics'96, Portugal, 18-20/08/96.

Rossi, W. G. Capitalismo e educação. 2 ed. São Paulo, Moraes, 1980.


227

Sá, C. A: “Implementação de Algoritmos Numéricos para a Resolução do Problema


Cinemático Inverso de Robôs”, mestrado, UNICAMP, agosto de 1996.
Saramago, M. P. A., Integração de dispositivos inteligentes utilizando conceitos de
domotica direcionados a automação hospitalar, Campinas. Faculdade de Engenharia
Mecânica, Universidade Estadual de Campinas, 2002, 224p. Tese (Doutorado).

Saramago, M. A P.: “Projeto e Desenvolvimento de um Sistema de Calibração e Medida


de Precisão para Robôs Industriais”, UNICAMP, junho de 1993.

Segnini, L. R. P., Controle e Resistência nas Formas de uso das Forças de Trabalho em
Diferentes Bases Técnicas e sua relação com a Educação, In: Trabalho e Educação, p.59-
68. Campinas, Papirus, 1992

Silva Junior, E. N. et al., Novas tecnologias para educação no Amazonas. In: Congresso da
Rede Iberoamericana de informática educativa Laboratório de Tecnologias Cognitivas,
1998, Brasília. Disponível em: http://www.c5.cl/ieinvestiga/actas/ribie98/205.html. Acesso
em 2000

Silveira, P. R., Santos, W. E., Automação e Controle Discreto, São Paulo, Érica, 2a. edição,
1998, 229p.

Soares, Luiz Fernando Gomes, Modelagem e Simulação Discreta. São Paulo, IME_USP,
1992, 254p.

Sousa, Flavia M. G. Controle de fresadora para a prototipagem de circuitos impressos.


M.Sc. thesis, State University of Campinas, 1998.

Timm, A., Pequenã historia de la tecnologia. Madrid, Ediciones Guadarrama, 1971.

Traylot, R. L., Heer, D., Fiez, T. S., Using an Integrated Platform for Learning TM to
Reinvent Engineering Education, In: IEEE Transactions on Education, vol 46, n. 4, p. 409-
419, novembro 2003.
228

Vargas, M., Educação Tecnológica: Desafios e Perspectivas, org. Mirian P.S.Z. Grinspun,
p. 3-14, Editora Cortez, São Paulo, 1999
Vygotsky, L. S., Pensamento e Linguagem, Martins Fontes, São Paulo, 1991.

White, M. A., Ensino à Distância. Disponível em:


www.penta2.ufrgs.br/edu/telelab/pavani/fundamen.htm. Acessado em agosto de 2002.

Zhang Lanfang Wu Jiangning and Li Shilun. Posture measurement and structural


parameters calibration on parallel six DOF platform. (Reference Internet) .
229

ANEXO I - Conceitos / Sistemas de Transformação de Coordenadas

Obtenção da Matriz de Orientação RPY

A matriz de orientação de Euler RPY (3x3) da ferramenta terminal de um robô, em


relação ao seu referencial fixo a sua base, poderá ser obtida através de 3 rotações sucessivas
em torno dos eixos z, y, x, ou seja:

com
; ;
; ;
; ;

onde

Cálculo do Jacobiano e obtenção da Matriz de Transformação Diferencial

Considerando-se que δx, δy e δz representem pequenas rotações de ordem infinitesimal,


respectivamente em torno dos eixos x, y e z, podemos aproximar: e ,
obtendo-se assim as relações de rotações infinitesimais em torno dos eixos de orientação.
230

Considerando as pequenas rotações em torno dos eixos Z, Y, X, podemos definir a


Matriz de Transformação Diferencial como:

Podemos simplificar os termos de 2ª e 3ª ordem, ou seja:


; ;
; ;
; ; ;

A partir dos resultados obtidos, podemos definir os dois teoremas fundamentais


descritos a seguir:

Teorema 1: Uma rotação diferencial δθ em torno de um vetor K [Kx, Ky, Kz] é equivalente a 3
rotações sucessivas [δz, δy, δx] em torno dos eixos x, y, z, ou seja:

, e
Teorema 2: Rotações diferenciais são independentes da ordem de rotação (quando
desprezamos os termos de segunda e terceira ordem).

Modelagem

a) Equações do Modelo Identificado


A partir da equação vetorial de medição descrita a seguir, podemos obter as equações
básicas utilizadas para identificação das dimensões da ferramenta de medição:
231

Se adicionarmos temos:

onde:
: vetor de dimensão (3 x 1), obtido a partir do robô,
onde seu valor deverá ser sempre atualizado.
: vetor de dimensão (3 x 1) obtido a partir do robô, onde seu valor
deverá ser sempre atualizado.
: vetor de dimensão (3 x 1) conhecido a partir do palete de calibração
: vetor de dimensão (3 x 1) relativo a distância do ponto 1 do palete ao zero do
robô. Este valor será estimado e atualizado a cada medida.
: matriz de orientação (3 x 3)
conhecida e resultante entre o ponto 1 do palete e o ponto de medida i+1. Este valor deverá
ser atualizado a cada medida.
: matriz de orientação (3 x 3) estimada (zero do robô). Este valor será
inicialmente estimado, e atualizado a cada medida.
: matriz de orientação (3 x 3) relativa ao ponto 1 do pacote conhecida a
partir do robô. Este valor deverá ser atualizado a cada medida.

b) Equações de Medição
A partir da metodologia descrita anteriormente, temos as seguintes equações de
medição:

onde os valores de X(0), Y(0) e Z(0) são obtidos a partir de valores estimados a cada
iteração.

A partir da metodologia descrita anteriormente, podemos obter os parâmetros N1, S1,


A1 e dx, dy, dz, que são valores constantes que deverão ser sempre atualizados a partir das
informações provenientes do controlador do robô e do palete utilizado. Assim temos:
232

;
;
;

onde [dx dy dz]: obtidos diretamente a partir das informações do palete.

É importante ressaltar que os valores Φ(i+1), Φ(1), θ(i+1), θ(1), Ψ(i+1), Ψ(1) são
obtidos diretamente através do controlador do robô, e devemos sempre observar que através
dessa diferença, obtemos precisamente o posicionamento do palete em relação ao robô e
possíveis diferenças na orientação da ferramenta no momento do toque no palete pelo robô.
Os parâmetros N2, S2, A2 e px, py, pz, são variáveis que deverão ser estimadas
inicialmente, e atualizadas a cada iteração, através de:

;
;
;

;
;
;
233

;
;
;

onde:
;
;
;
;
;
;

;
;
;

;
;
;

;
;
;

;
;
;

onde [px py pz] são valores estimados a cada iteração


234

É importante observar que os valores Φ(0), θ(0), Ψ(0) são estimados a cada iteração,
entretanto os valores Φ(1), θ(1), Ψ(1), são bem conhecidos (obtidos através do robô),
entretanto os mesmos deverão ser sempre corrigidos a cada iteração (basta subtrair pelo novo
zero do robô). Os valores px, py, pz distância do referencial da base do robô até o ponto P0
deverá ser estimado a cada iteração.

c) Cálculo do Jacobiano (J)

O Jacobiano (J) poderá ser calculado a partir das seguintes equações:

onde:
;
;
;
;
;
;

;
;
;

;
;
;
;
;
;

;
;
;
235

Para a obtenção do Jacobiano, foi implementado o programa em MatlabTM


(JACOBIANA), e outro programa para a sua solução (DIRETO, que se encontram no Anexo I
desta tese, ou seja:

onde:

Matriz Jacobiana

Sendo perfeitamente conhecidos os valores para dex, dey, dez e pontos de toque do robô (Pi,
P(i+1).

A partir do cálculo das derivadas parciais, obtemos a matriz Jacobiana:


236
237

Através do cálculo das derivadas parciais de N0, S0 e A0 temos:


238
239

a) Obtenção do inverso da matriz Jacobiana


O inverso da matriz Jacobiana permitira a obtenção dos parâmetros desconhecidos x0,
y0, z0, Ψ0, θ0, Φ0, px, py e pz), isto é:

onde J+ é a matriz pseudo-inversa e F apresentará valores perfeitamente conhecidos, que será


substituído por:

Utilizando o procedimento descrito anteriormente notaremos que não é mais


necessário o conhecimento aproximado de como esta o referencial do robô em relação ao
palete de calibração. No equacionamento do palete existem dois valores para N1x, N1y,

Primeiro valor:
240

Segundo valor:

Cálculo do Erro de posicionamento

Seja , o vetor de erros dos parâmetros do sistema. A matriz de transformação exata


*A, será escrita como:

onde:

A matriz de transformação exata do sistema será dada por:


241

onde:

a) Método Proposto para Identificação de Parâmetros:


Com o objetivo de se obter uma relação aproximada correspondente a variação de

posicionamento e a variação dos erros de em relação aos parâmetros , lineariza-se a

eq. 3.19, em relação ao ponto ,desprezando-se os termos de segunda ordem, ou seja:

Admitindo-se que as diferenças sejam pequenas, podemos escrever:

onde é o Jacobiano T no ponto .


Partindo-se do modo linearizado, que esta associado à pequenas variações de
posicionamento, com erros nos parâmetros, será proposto neste trabalho um método iterativo,
que associa os dados obtidos numa seqüência de medidas, e através da utilização de um
critério de mínimos quadrados será possível a identificação dos parâmetros de posicionamento
do sistema:

onde

: Vetor estimador dos parâmetros


Tmed: Posição e orientação medida
242

: Posição orientação calculada através do modelo cinemático


GR: Operador de inversão utilizado para cálculo do Jacobiano inverso usando o critério dos
mínimos quadrados.

Sendo NPmed, o número de medidas, temos:

Para a implementação da metodologia proposta anteriormente foi utilizado o algoritmo


iterativo de inversão ( Fig. 3 ). Para a validação experimental foi utilizado um robô industrial,
e dois tipos de instrumentos de calibração disponíveis no LAIR-UNICAMP.

Figura 3: Algoritmo Utilizado

Parâmetros de Medida

Os pontos de medição definidos na Fig. 3.23 são definidos a seguir:


Ponto P0: : ponto descrito em relação ao
referencial fixo a base do robô. Este ponto também poderá ser chamado como “zero do robô”,
e é um ponto de medição bem conhecido (0, 0, 0).
243

Ponto Pi: : ponto das medidas efetuadas em relação


ao ponto fixo de calibração, que é obtido através da leitura no punho do robô. Este ponto é
perfeitamente conhecido a partir do controlador do robô;

Ponto Pt: : Ponto de contato da ferramenta, também chamado


TCP (Tool Center Point). Este ponto é fixo e bem determinado, e este ponto deverá ser
estimado inicialmente, atribuindo um valor inicial, que deverá ser atualizado em cada
iteração.

Ao mesmo tempo, os parâmetros concernentes às dimensões da ferramenta [dx, dy,


dz], e a distância do ponto de contato da ferramenta (Pt) até o referencial zero do Robô (P0):
[lx, ly, lz], também considerados desconhecidos, deverão ser estimados, e atribuídos valores
iniciais, que deverão ser atualizados a cada iteração.

Equações do Modelo Identificado

A partir da equação vetorial de medição descrita a seguir, podemos obter as equações


básicas utilizadas para identificação das dimensões da ferramenta de medição:

que podemos reescrever como:

Onde:

A partir (3.28)+(3.29) obtemos (3.27), ou seja:

onde:
244

: vetor de dimensão (3x1) obtido a partir do robô (seu valor sempre é


bem conhecido)

: vetor de dimensão (3x1) obtido a partir do robô (zero do robô). O


valor deste ponto é considerado sempre bem conhecido com o valor
: vetor tamanho da ferramenta de dimensão (3x1) (valor atualizado a cada
iteração)
: vetor de dimensão (3x1) relativo a distância do ponto de calibração da ferramenta
(Pt) em relação ao zero do robô P(0) (valor estimado e atualizado a cada medida)
: matriz de orientação (3x3) conhecida
e resultante entre o ponto 1 do palete e o ponto de medida i+1 (seu valor deverá ser sempre
atualizado)

: matriz de orientação (3x3) (zero do robô) (matriz identidade)

: matriz de orientação (3x) relativa ao ponto i de toque (obtida sempre a


partir do robô)

: matriz de orientação (3x3) do ponto Pt em relação ao zero P(0) (seu valor deverá
sempre ser atualizado)

Equações de Medição Genéricas

Para a obtenção de N1, S1, A1 temos:


;
;
;
245

;
;

;
Para a obtenção dos valores correspondentes a N2, S2, A2, que deverão ser atualizados
a cada iteração, temos:
;
;
;

;
;
;

;
;
;

Cálculo do Jacobiano

Para a obtenção do Jacobiano (J), correspondente ao funcional de medição,


correspondente a variação dos parâmetros de medição em função da série de medições
propostas temos as seguintes equações:
246

O procedimento utilizado para a obtenção da matriz Jacobiana, necessário para a


identificação dos parâmetros da ferramenta, é análogo ao procedimento descrito anteriormente
para o cálculo do zero robô pelo palete, e da mesma forma este procedimento, não dependerá
dos valores iniciais e no processo de estimação, além das dimensões da ferramenta, serão
estimados a distancia do ponto Pt até Po (vetor lx, ly, lz) e a orientação do de Pt em relação a
base do robô (Ψt, Φt, θt).

Assim, para o cálculo da matriz jacobiana (J3x9), podemos observar que resolvendo o
sistema de forma direta através de a relação matemática descrita a seguir:

onde:

onde os componentes da matriz JACOBIANA (J3x9) são descritos a seguir:


247

onde

] ]
248

Derivadas parciais em relação a N1:


249

Derivadas parciais em relação a N2:


250
251

Programas Implementados para Calibração da


Ferramenta Terminal

PROGRAMA FERRAMENTA.M

% valores utilizados para o calculo do tamanho da ferramenta


X1= 1542.89; Y1= -1108.36; Z1= 1274.17; R1= 122.05; P1= 27.09; Y1= 27.60;
X2= 1393.12; Y2= -1768.74; Z2= 1192.38; R2= 105.89; P2= 18.82; Y2= -40.62;
X3= 1897.21; Y3= -1185.78; Z3= 1163.78; R3= 103.46; P3= 31.12; Y3= -39.67;
X4= 1291.06; Y4= -1497.30; Z4= 1316.31; R4= 124.91; P4= -1.83; Y4= -81.24;

% valor obtido para a ferramenta pelo robcad


% X:= -1,74 Y:= 1,97 Z:= 398,09
Deg_Rad = pi / 180;

% procedimento para o calculo do tamanho da ferramenta


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% VALORES INICIAIS PARA dx dy dz Psit Tetat Phit lx ly lz
% distancia do ponto de contato da ferramenta Pt ate o ref zero do robo
lx = 0; ly = 0; lz = 0;
% tamanho inicial da ferramenta
dx = 0; dy = 0; dz = 0;
% orientacao de Pt em relacao a base do robo
Psit = 0 * Deg_Rad; Tetat = 0 * Deg_Rad; Phit = 0 * Deg_Rad;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%

% PARA O PRIMEIRO CONJUNTO DE MEDIDAS (primeira iteracao)


% valores da orientacao do punho
Psi = R1 * Deg_Rad; Teta = P1 * Deg_Rad; Phi = Y1 * Deg_Rad;
% valores da posicao do punho
F = [ X1 ; Y1 ; Z1];
% calcula a matriz jacobiana inversa MJI
Jacobiano
% calcula MJI * F -- VR = vetor resposta
VR = MJI * F;
% atualizando os valores de dx dy dz Psit Tetat Phit lx ly lz
% para a primeira iteracao
dx = dx + VR(1);
dy = dy + VR(2);
dz = dz + VR(3);
Psit = Psit + VR(4);
Tetat = Tetat + VR(5);
Phit = Phit + VR(6);
lx = lx + VR(7);
ly = ly + VR(8);
lz = lz + VR(9);

% PARA O SEGUNDO CONJUNTO DE MEDIDAS (segunda iteracao)


% valores da orientacao do punho
Psi = R2 * Deg_Rad; Teta = P2 * Deg_Rad; Phi = Y2 * Deg_Rad;
% valores da posicao do punho
F = [ X2 ; Y2 ; Z2];
% calcula a matriz jacobiana inversa MJI
Jacobiano
252

% calcula MJI * F -- VR = vetor resposta


VR = MJI * F;
% atualizando os valores de dx dy dz Psit Tetat Phit lx ly lz
% para a segunda iteracao
dx = dx + VR(1);
dy = dy + VR(2);
dz = dz + VR(3);
Psit = Psit + VR(4);
Tetat = Tetat + VR(5);
Phit = Phit + VR(6);
lx = lx + VR(7);
ly = ly + VR(8);
lz = lz + VR(9);

% PARA O TERCEIRO CONJUNTO DE MEDIDAS (terceira iteracao)


% valores da orientacao do punho
Psi = R3 * Deg_Rad; Teta = P3 * Deg_Rad; Phi = Y3 * Deg_Rad;
% valores da posicao do punho
F = [ X3 ; Y3 ; Z3];
% calcula a matriz jacobiana inversa
MJI
Jacobiano
% calcula MJI * F -- VR = vetor resposta
VR = MJI * F;
% atualizando os valores de dx dy dz Psit Tetat Phit lx ly lz para a terceira iteracao
dx = dx + VR(1);
dy = dy + VR(2);
dz = dz + VR(3);
Psit = Psit + VR(4);
Tetat = Tetat + VR(5);
Phit = Phit + VR(6);
lx = lx + VR(7);
ly = ly + VR(8);
lz = lz + VR(9);

% PARA O QUARTO CONJUNTO DE MEDIDAS (quarta iteracao)


% valores da orientacao do punho
Psi = R4 * Deg_Rad; Teta = P4 * Deg_Rad; Phi = Y4 * Deg_Rad;
% valores da posicao do punho
F = [ X4 ; Y4 ; Z4];
% calcula a matriz jacobiana inversa MJI
Jacobiano
% calcula MJI * F -- VR = vetor resposta
VR = MJI * F;
% atualizando os valores de dx dy dz Psit Tetat Phit lx ly lz
% para a quarta iteracao
dx = dx + VR(1);
dy = dy + VR(2);
dz = dz + VR(3);
Psit = Psit + VR(4);
Tetat = Tetat + VR(5);
Phit = Phit + VR(6);
lx = lx + VR(7);
ly = ly + VR(8);
lz = lz + VR(9);

% MOSTRA O VALOR DA FERRAMENTA ESTIMADA CALCULADA


dx, dy, dz
253

PROGRAMA CALCULO_JACOBIANO.M

Function Delt = Jacobiano (Pi, Oi, D, L, Ot);


% valores para teste
% L = [100, 100, 100]; % distancia do ponto de contato do tool Pt ao ref Zero Robo
% D = [100, 100, 100]; % tamanho inicial da ferramenta (chute)
% Ot = [ 0, 0, 0 ]; % orientação do ponto de contato do tool em relaçao ao ref Zero Robo
% Pi=[ 2440, 226, 689];
% Oi=[ 122.05, 27.09, 27.60 ];

% normalizacao (valores maximos)


Fator = max (abs(Pi)); % valor absoluto maximo de Pi (normalizacao)
for i=1:3
L(i) = L(i) / Fator;
D(i) = D(i) / Fator;
Pi(i) = Pi(i) / Fator;
end

% N1, S1, A1
RPY1 = Oi - Ot;
M_1 = Matriz_RPY(RPY1);

% N2, S2, A2
RPY2 = Ot;
M_2 = Matriz_RPY(RPY2);

% variaveis Jacobiano
dN1x_dPsit = 0;
dS1x_dPsit = -cos(RPY1(3))* sin(RPY1(2))* cos(RPY1(1)) - sin(RPY1(3)) * sin(RPY1(1));
dA1x_dPsit = cos (RPY1(3)) * sin (RPY1(2)) * sin (RPY1(1)) - sin (RPY1(3)) * cos (RPY1(1));
dN1y_dPsit = 0;
dS1y_dPsit = -sin (RPY1(3)) * sin (RPY1(2)) * cos (RPY1(1)) + cos (RPY1(3)) * sin (RPY1(1));
dA1y_dPsit = sin (RPY1(3)) * sin (RPY1(2)) * sin (RPY1(1)) + cos (RPY1(3)) * cos (RPY1(1));
dN1z_dPsit = 0;
dS1z_dPsit = -cos (RPY1(2)) * cos (RPY1(1));
dA1z_dPsit = cos (RPY1(2)) * sin (RPY1(1));
dN1x_dTett = cos (RPY1(3)) * sin (RPY1(2));
dS1x_dTett = -cos (RPY1(3)) * sin (RPY1(1)) * cos (RPY1(2));
dA1x_dTett = -cos (RPY1(3)) * cos (RPY1(1)) * cos (RPY1(2));
dN1y_dTett = sin (RPY1(3)) * sin (RPY1(2));
dS1y_dTett = -sin (RPY1(3)) * sin (RPY1(1)) * cos (RPY1(2));
dA1y_dTett = -sin (RPY1(3)) * cos (RPY1(1)) * cos (RPY1(2));
dN1z_dTett = cos (RPY1(2));
dS1z_dTett = sin (RPY1(1)) * sin (RPY1(2));
dA1z_dTett = cos (RPY1(1)) * sin (RPY1(2));
dN1x_dPhit = cos (RPY1(2)) * sin (RPY1(3));
dS1x_dPhit = sin (RPY1(2)) * sin (RPY1(1)) * sin (RPY1(3)) + cos (RPY1(1)) * cos (RPY1(3));
dA1x_dPhit = sin (RPY1(2)) * cos (RPY1(1)) * sin (RPY1(3)) - sin (RPY1(1)) * cos (RPY1(3));
dN1y_dPhit = -cos (RPY1(2)) * cos (RPY1(3));
dS1y_dPhit = -sin (RPY1(1)) * sin (RPY1(2)) * cos (RPY1(3)) + cos (RPY1(1)) * sin (RPY1(3));
dA1y_dPhit = -cos (RPY1(1)) * sin (RPY1(2)) * cos (RPY1(3)) - sin (RPY1(1)) * sin (RPY1(3));
dN1z_dPhit = 0; dS1z_dPhit = 0; dA1z_dPhit = 0;
dN2x_dPsit = 0;
dS2x_dPsit = cos (RPY2(3)) * sin (RPY2(2)) * cos (RPY2(1)) + sin (RPY2(3)) * sin (RPY2(1));
dA2x_dPsit = -cos (RPY2(3)) * sin (RPY2(2)) * sin (RPY2(1)) + sin (RPY2(3)) * cos (RPY2(1));
dN2y_dPsit = 0;
dS2y_dPsit = sin (RPY2(3)) * sin (RPY2(2)) * cos (RPY2(1)) - cos (RPY2(3)) * sin (RPY2(1));
dA2y_dPsit = -sin (RPY2(3)) * sin (RPY2(2)) * sin (RPY2(1)) - cos (RPY2(3)) * cos (RPY2(1));
dN2z_dPsit = 0;
254

dS2z_dPsit = cos (RPY2(2)) * cos (RPY2(1));


dA2z_dPsit = -cos (RPY2(2)) * sin (RPY2(1));
dN2x_dTett =-cos (RPY2(3)) * sin (RPY2(2));
dS2x_dTett = cos (RPY2(3)) * sin (RPY2(1)) * cos (RPY2(2));
dA2x_dTett = cos (RPY2(3)) * cos (RPY2(1)) * cos (RPY2(2));
dN2y_dTett = -sin (RPY2(3)) * sin (RPY2(2));
dS2y_dTett = sin (RPY2(3)) * sin (RPY2(1)) * cos (RPY2(2));
dA2y_dTett = sin (RPY2(3)) * cos (RPY2(1)) * cos (RPY2(2));
dN2z_dTett = -cos (RPY2(2));
dS2z_dTett = -sin (RPY2(1)) * sin (RPY2(2));
dA2z_dTett = -cos (RPY2(1)) * sin (RPY2(2));
dN2x_dPhit = -cos (RPY2(2)) * sin (RPY2(3));
dS2x_dPhit = -sin (RPY2(2)) * sin (RPY2(1)) * sin (RPY2(3)) - cos (RPY2(1)) * cos (RPY2(3));
dA2x_dPhit = -sin (RPY2(2)) * cos (RPY2(1)) * sin (RPY2(3)) + sin (RPY2(1)) * cos (RPY2(3));
dN2y_dPhit = cos (RPY2(2)) * cos (RPY2(3));
dS2y_dPhit = sin (RPY2(1)) * sin (RPY2(2)) * cos (RPY2(3)) - cos ( RPY2(1)) * sin (RPY2(3));
dA2y_dPhit = cos (RPY2(1)) * sin (RPY2(2)) * cos (RPY2(3)) + sin (RPY2(1)) * sin (RPY2(3));
dN2z_dPhit = 0; dS2z_dPhit = 0; dA2z_dPhit = 0;

% termos da matriz Jacobiana


J11 = M_1(1,1); J12 = M_1(1,2); J13 = M_1(1,3); % J11 = N1x; J12 = S1x; J13 = A1x;
J17 = M_2(1,1); J18 = M_2(1,2); J19 = M_2(1,3); % J17 = N2x; J18 = S2x; J19 = A2x;
J21 = M_1(2,1); J22 = M_1(2,2); J23 = M_1(2,3); % J21 = N1y; J22 = S1y; J23 = A1y;
J27 = M_2(2,1); J28 = M_2(2,2); J29 = M_2(2,3); % J27 = N2y; J28 = S2y; J29 = A2y;
J31 = M_1(3,1); J32 = M_1(3,2); J33 = M_1(3,3); % J31 = N1z; J32 = S1z; J33 = A1z;
J37 = M_2(3,1); J38 = M_2(3,3); J39 = M_2(3,3); % J37 = N2z; J38 = S2z; J39 = A2z;
J14 = (dN1x_dPsit * D(1) + dS1x_dPsit * D(2) + dA1x_dPsit * D(3)) + (dN2x_dPsit * L(1) + dS2x_dPsit * L(2)
+ dA2x_dPsit * L(3));
J15 = (dN1x_dTett * D(1) + dS1x_dTett * D(2) + dA1x_dTett * D(3)) + (dN2x_dTett * L(1) + dS2x_dTett *
L(2) + dA2x_dTett * L(3));
J16 = (dN1x_dPhit * D(1) + dS1x_dPhit * D(2) + dA1x_dPhit * D(3)) + (dN2x_dPhit * L(1) + dS2x_dPhit *
L(2) + dA2x_dPhit * L(3));
J24 = (dN1y_dPsit * D(1) + dS1y_dPsit * D(2) + dA1y_dPsit * D(3)) + (dN2y_dPsit * L(1) + dS2y_dPsit * L(2)
+ dA2y_dPsit * L(3));
J25 = (dN1y_dTett * D(1) + dS1y_dTett * D(2) + dA1y_dTett * D(3)) + (dN2y_dTett * L(1) + dS2y_dTett *
L(2) + dA2y_dTett * L(3));
J26 = (dN1y_dPhit * D(1) + dS1y_dPhit * D(2) + dA1y_dPhit * D(3)) + (dN2y_dPhit * L(1) + dS2y_dPhit *
L(2) + dA2y_dPhit * L(3));
J34 = (dN1z_dPsit * D(1) + dS1z_dPsit * D(2) + dA1z_dPsit * D(3)) + (dN2z_dPsit * L(1) + dS2z_dPsit * L(2)
+ dA2z_dPsit * L(3));
J35 = (dN1z_dTett * D(1) + dS1z_dTett * D(2) + dA1z_dTett * D(3)) + (dN2z_dTett * L(1) + dS2z_dTett *
L(2) + dA2z_dTett * L(3));
J36 = (dN1z_dPhit * D(1) + dS1z_dPhit * D(2) + dA1z_dPhit * D(3)) + (dN2z_dPhit * L(1) + dS2z_dPhit *
L(2) + dA2z_dPhit * L(3));

% matriz Jacobiana
MJ = [ J11 J12 J13 J14 J15 J16 J17 J18 J19 ; J21 J22 J23 J24 J25 J26 J27 J28 J29 ; J31 J32 J33 J34 J35 J36 J37
J38 J39];

% matriz Jacobiana inversa


MJI = pinv(MJ);

% calcula MJI * F -- VR = vetor resposta


Delt = MJI * Pi';
for i=1:3
Delt1 (i) = Delt (i) * Fator;
Delt1 (i + 3) = Delt (i + 3);
Delt1 (i + 6 ) = Delt (i + 6) * Fator;
end
Delt = Delt1';
255

ANEXO II - Especificações E/S – Célula Colaborativa

II.1 - Conjunto das palavras de comando

Byte Comando
0 Inicio
1 Mesa
2 Movimento de Translação da Mesa
3 Rotação R1 Mesa (Face 1 e 3)
4 Rotação R1 Mesa (Face 2 e 4)
5 Rotação R2 Mesa (inclinação) - Robô 1
6 Rotação R2 Mesa (inclinação) - Robô 2
7 Init_Rob
8 Posição Inicial - Robô (R1) - Traj11
9 Posição Inicial - Robô (R2) – Traj21
10 Posicionamento Cooperativo Robôs (R1 e R2)
11 Task1_Rob
12 Traj12: Trajetória Robô 1 - Face 1 (2)
13 Traj22: Trajetória Robô 2 - Face 3 (4)
14 Tarefa Cooperativa Robôs (R1 e R2)
15 Task2_Rob
16 Traj13: Trajetória Robô 1 - Mesa Inclinada
17 Traj23: Trajetória Robô 2 - Mesa Inclinada
18 Tarefa Sequencial Robôs (R1 e R2)

Observações:
 Cada palavra de Comando é composta de 1 byte,
 Foram utilizados Bytes para comunicação para comandos que podem ser de apenas
Bits, porque a maioria dos Servidores OPC SERVER, utiliza Bytes que são utilizados
como Bits no Sistema supervisório.
 Essas palavras de comando são trocadas entre os CLP´s e os robôs e o sistema
supervisório, elas são trocadas de forma contínua, gerenciadas pelo sistema OPC
SERVER.
256

II.2 – Relação E/S (Grafcet – linguagem RLL-Plus)


N° VARIÁVEIS start/end sub-rotina - MESA
1 S0 Inicio do Programa
2 SF Final do Programa
3 S10 Task2 (inclinação da mesa)
4 S11 Movimento de Translação da Mesa
5 S12 Rotação R1 Mesa (Face 1 - 3)
6 S13 Rotação R1 Mesa (Face 2 - 4)
7 S14 Rotação R2 Mesa (inclinação) – Robô 1
8 S15 Rotação R2 Mesa (inclinação) – Robô 2
9 S16 Traj13: Trajetória Robô 1 – Mesa Inclinada
10 S17 Traj23: Trajetória Robô 2 – Mesa Inclinada

N°. VARIÁVEIS Modo Movimento dos Robôs - descrição


1 S21 Pos_Inic – Robô (R1) - Traj11
2 S22 Pos_Inic – Robô (R2) - Traj21
3 S23 Posicionamento Cooperativo Robôs (R1 e R2)
4 S31 Tarefa Sequencial Robô (R1)
5 S32 Tarefa Sequencial Robô (R2)
6 S12 Traj13: Trajetória Robô 1 – Mesa Inclinada
7 S13 Traj23: Trajetória Robô 2 – Mesa Inclinada
8 S24 Task_1_Usinagem de superfície
9 S25 Traj12: Trajetória Robô 1 – Face 1 (2)
10 S26 Traj22: Trajetória Robô 2 – Face 3 (4)
11 S27 Tarefa Cooperativa Robôs de usinagem (R1 e R2)

II.3 – Lógica de comando do supervisor associados aos subprogramas da CLP


N°. AUX. Variáveis Lógicas Auxiliares
1 C1 Lógica de modo Mesa e Robô
2 C2 Lógica de modo Mesa e Robô
3 C3 Supervisor
4 C4 Supervisor
5 C5 Supervisor
6 C6 Supervisor
7 C7 Switch ON/OFF
257

N° AUX. Funções de saídas Auxiliares


1 S5 Task2 (inclinação da mesa)
2 S51 Traj13: Trajetória Robô 1 – Mesa Inclinada
3 S52 Traj23: Trajetória Robô 2 – Mesa Inclinada
4 S53 Tarefa Seqüencial Robôs (R1 e R2)

N° Input Funções de Entrada (CLP)


1 X0 L_D Liga Desliga da operação
2 X1 Coop

II.3 – Estruturação Lógica


a) Inicio do Programa – Seleção Modo Movimenta Mesa ou Robô
C1 C2 VALOR S Lógica de Controle de Movimentação da Mesa ou Robô
0 0 0 S0 Menu de Inicio de Programa
0 1 1 S1 Modo Movimenta Mesa
1 0 2 S2 Modo Movimenta Robô
1 1 3 X ------------------------

b) Modo Mesa: Movimentação da Mesa


C1 C2 C3 C4 C5 VLR. S LÓGICA DE CONTROLE
0 1 0 0 0 0 S1X MOV. DE MESA
0 1 1 1 1 7 S11 TRANSLAÇÃO DA MESA
0 1 0 0 1 4 S12 ROTAÇÃO MESA (1-3)
0 1 0 1 0 2 S13 ROTAÇÃO DA MESA (1-4)
0 1 1 0 1 5 S14 INCLINAÇÃO DA MESA PARA ROBÔ 01
0 1 1 1 0 3 S15 INCLINAÇÃO DA MESA PARA ROBÔ 02
0 0 X X X X S0 MENU DE INÍCIO DE PROGRAMA
258

c) Modo Robô: Movimentação do Robô


C1 C02 C3 C4 C5 C6 VLR. S LÓGICA DE CONTROLE
1 0 0 0 X X 0 S2 MODO – Movimenta Robô
1 0 0 1 X X 2 S3 INIALIZAÇÃO DO ROBÔ
1 0 0 1 0 0 2 S31 Posição Inicial – Robô (R1) - Traj1
1 0 0 1 1 1 1 S32 Posição Inicial – Robô (R2) - Traj2
1 0 0 1 1 1 3 S33 Posicionamento Cooperativo Robôs (R1 e R2)
1 0 1 0 X X 1 S4 Task1 (Faces)
1 0 1 0 0 0 2 S41 Posição Inicial – Robô (R1) - Traj1
1 0 1 0 1 1 1 S42 Posição Inicial – Robô (R2) - Traj2
1 0 1 0 1 1 3 S43 Posicionamento Cooperativo Robôs (R1 e R2)
1 0 1 1 X X 3 S5 Task2 (Mesa Inclinada)
1 0 1 1 0 0 2 S51 Traj13: Trajetória Robô 1 – Mesa Inclinada
1 0 1 1 1 1 1 S52 Traj23: Trajetória Robô 2 – Mesa Inclinada
1 0 1 1 1 1 3 S53 Tarefa Sequencial Robôs (R1 e R2)
0 0 X X X X X S0 Menu de Inicio de Programa

d) Entradas do CLP e Entradas (sensores)


N°. Variável Descrição
X0 LD Liga Desliga
X1 COOP Modo cooperação
X2 ST Start
X3 CIL_AV Mesa recuada
X4 CIL_REC Mesa avançada
X5 SEQ Modo sequencial
X6 PINI_R1 Posição inicial robô 1
X7 PINI_R2 Posição inicial robô 2
X8 F1_3 Usinagem 1-3
X9 F2_4 Usinagem 2-4
X10 F5 Usinagem 5
X11 ROTM1_3 Rotação mesa 1-3
X12 ROTM1_4 Rotação mesa 2-4
X13 ROTM5 Rotação mesa 5
x14 INCL_MESA Inclinação da mesa
x15 STOP Soft Stop
X16 EMER Emergência
259

e) Saídas do CLP
N°. Variável Descrição
y0 L_M_R Led de mesa recuada
y1 L_M_A Lede de mesa avançada
y2 L_COOP Led tarefa cooperativa
y3 L_SEQ Led tarefe seq.
Y4 L_POS_I_R1 Led Posição Inicial Robô 01
Y5 L_POS_I_R2 Led Posição Inicial Robô 02
Y6 L_1-3 Led trajetória face 1-3
Y7 L1-4 Led trajetória face 2-4
Y8 L_I_R1 Led trajetória mesa inclinada Robô 01
Y9 L_I_R2 Led trajetória mesa inclinada Robô 02
Y10 L_RB_OP_01 Led robô 01 em operação
Y11 L_RB_OP_02 Led robô 02 em operação
Y12 L_RB_DE_01 Led robô 01 em descanso
Y13 L_RB_DE_02 Led Robô 02 em descanso
Y14 L_R_M_1-3 Rot. Mesa F 1-3
Y15 L_R_M_2-4 Rot. Mesa F 2-4
Y16 L_I_M_R1 Inclinação mesa R1
Y17 L-I_M_R2 Inclinação mesa R2
Y18 ----- -----------------------------------------
Y19 ------ -----------------------------------------
Y20 CIL_AV_REC Acionamento do cilindro de recuo avanço da mesa
Y21 MR Motor rotação
Y22 MI Motor Inclinação

f) Entradas do robô

X4 X5 X6 X7 VLR. Comando
1 0 0 0 16 Modo Robô
1 1 1 0 112 Posição Inicial do Robô R1
1 1 0 1 196 Trajetória Robô 1 – Face 1 (2)
1 1 1 1 240 Trajetória Robô 1 – Mesa Inclinada
0 0 1 0 64 Posição Inicial do Robô R2
0 0 0 1 128 Trajetória Robô 2 – Face 3 (4)
0 0 1 1 192 Trajetória Robô 2 – Mesa Inclinada
260

g) Saídas do robô
Y3 Y4 Y5 VLR Comando
1 0 0 8 Modo Robô
1 1 1 56 Posição inicial do Robô 01
1 1 0 24 Trajetória Robô 01 para usinar face 1-3
1 0 1 40 Mesa inclinada para robô 01
0 1 1 48 Posição inicial do Robô 02
0 1 0 16 Trajetória Robô 02 para usinar face 2-4
0 0 1 32 Mesa inclinada para robô 02

h) Lógica de Entradas do CLP


X0 X1 X2 X3 VLR Comando
1 0 0 0 1 Operação Mesa
1 1 0 0 3 Posição Inicial Mesa (na translação)
1 0 1 0 5 Rotação Mesa (1-3)
1 0 0 1 9 Rotação Mesa (2-4)
1 1 1 0 7 Inclinação da mesa para robô 01
1 1 0 1 11 Inclinação da mesa para robô 02

i) Lógica de entrada dos Robôs


X4 X5 X6 X7 VLR Comando
1 0 0 0 16 Modo Robô
1 1 1 0 112 Posição inicial do Robô 01
1 1 0 1 196 Trajetória Robô 01 para usinar face 1-3
1 1 1 1 240 Mesa inclinada para robô 01
0 0 1 0 64 Posição inicial do Robô 02
0 0 0 1 128 Trajetória Robô 02 para usinar face 2-4
0 0 1 1 192 Mesa inclinada para robô 02
261

ANEXO III - Programação Robô ABB na Célula Colaborativa

III.1 – Dimensões das faces do cubo de trabalho proposto para operação cooperativa
dos elementos da célula robotizada em estudo

a) Face 1. b) Face 2.

c) Face 3. d) Face 4.

e) Face 5.
Obs.: Todas as faces tem uma profundidade de 10mm e o diâmetro da fresa é de 10mm.
Figura 1: Faces da Peça a ser usinada colaborativamente na Célula Robotizada (cubo).
262

III.2 – Usinagem da Face 1 e 2 do Cubo pelo Robô ABB 1

Figura 2: Cubo de Usinagem: Face 1 e Face 2.

a) Programa Implementado: Usinagem da Face 1 do cubo pelo Robô ABB 1


PROC main()
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
WaitTime 2;
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,-10,30,30),v100,z5,usinagem;
MoveL Offs(pinit,10,30,30),v100,fine,usinagem;
MoveL Offs(pinit,10,270,30)v100,fine,usinagem;
MoveL Offs(pinit,10,150,270),v100,fine,usinagem;
MoveL Offs(pinit,10,30,30),v100,fine,usinagem;
MoveJ Offs(pinit,-10,30,30),v100,z5,usinagem;
WaitTime 2;
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
ENDPROC
ENDMODULE
263

b) Programa Implementado: Usinagem da Face 2 do cubo pelo Robô ABB 1


PROC main()
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
WaitTime 2;
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,30,-10,30),v100,z5,usinagem;
MoveL Offs(pinit,30,10,30),v100,fine,usinagem;
MoveL Offs(pinit,270,10,30)v100,fine,usinagem;
MoveL Offs(pinit,270,10,270),v100,fine,usinagem;
MoveL Offs(pinit,30,10,270),v100,fine,usinagem;
MoveL Offs(pinit,30,10,30),v100,z5,usinagem;
MoveJ Offs(pinit,30,-10,30),v100,z5,usinagem;
WaitTime 2;
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
ENDPROC
ENDMODULE

III.3 – Usinagem da Face 3 e 4 do Cubo pelo Robô 2

Figura 3: Cubo de Usinagem: Face 3 e Face 4.


264

a) Programa Implementado: Usinagem da Face 3 do cubo pelo Robô ABB 2

PROC main()
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
WaitTime 2;
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,-10,150,30),v100,z5,usinagem;
MoveL Offs(pinit,10,150,30),v100,fine,usinagem;
MoveL Offs(pinit,10,30,150)v100,fine,usinagem;
MoveL Offs(pinit,10,150,270),v100,fine,usinagem;
MoveL Offs(pinit,10,270,150),v100,fine,usinagem;
MoveL Offs(pinit,10,150,30),v100,z5,usinagem;
MoveJ Offs(pinit,-10,150,30),v100,z5,usinagem;
WaitTime 2;
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
ENDPROC
ENDMODULE

a) Programa Implementado: Usinagem da Face 4 do cubo pelo Robô ABB 2

PROC main()
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
WaitTime 2;
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,30,-10,150),v100,z5,usinagem;
MoveL Offs(pinit,30,10,150),v100,fine,usinagem;
MoveC Offs(pinit,150,10,30),Offs(pinit,270,10,150)v100,fine,usinagem;
MoveC Offs(pinit,150,10,270),Offs(pinit,30,10,150)v100,fine,usinagem;
MoveJ Offs(pinit,30,-10,150),v100,z5,usinagem;
WaitTime 2;
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
ENDPROC
ENDMODULE
265

III.4 – Usinagem da Face 5 (superior) do Cubo pelo Robô 1

Figura 4: Cubo de Usinagem: Face 5.

a) Programa Implementado: Usinagem da Face 5 do cubo pelo Robô ABB 1

PROC main()
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
WaitTime 2;
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,30,150,310),v100,z5,usinagem;
MoveL Offs(pinit,30,150,290),v100,fine,usinagem;
MoveL Offs(pinit,150,270,290)v100,fine,usinagem;
MoveL Offs(pinit,270,150,290),v100,fine,usinagem;
MoveC Offs(pinit,150,30,290),Offs(pinit,30,150,290)v100,fine,usinagem;
MoveJ Offs(pinit,30,150,310),v100,z5,usinagem;
WaitTime 2;
MoveAbsJ [[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem;
ENDPROC
ENDMODULE
266

III.5 – Programação Estruturada para o Robô ABB

O Robô1 executa a tarefa nas faces 1 e 2 ao mesmo tempo o Robô 2 executa a


tarefa nas faces 3 e 4, após o término das tarefas dos dois robôs, o Robô 1 executa a tarefa
na face 5. O programa completo implementado para os robôs trabalhando
cooperativamente na operação de usinagem em 5 faces do Cubo, é descrito a seguir:

PROC main()
MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face1;
TPWrite "Bom dia Operador";
WaitTime 2;
TPErase;
TPWrite "As trajetórias são em graus 0,0 ou 0,90 ou 45,90";
WaitTime 3;
TPErase;
TPReadFK reg1,"Escolha a trajetória:","0,0","0,90","45,90",stEmpty,stEmpty;
IF reg1=1 THEN
! Face1
! MoveL pinit,v100,fine,usinagem\WObj:=face1;
MoveJ Offs(pinit,-10,30,30),v100,z5,usinagem\WObj:=face1;
MoveL Offs(pinit,10,30,30),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,270,30)v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,150,270),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,30,30),v100,fine,usinagem\WObj:=face1;
MoveJ Offs(pinit,-10,30,30),v100,z5,usinagem\WObj:=face1;
WaitTime 2;
MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face1;
! Face2
! MoveL pinit,v100,fine,usinagem\WObj:=face1;
MoveJ Offs(pinit,30,-10,30),v100,z5,usinagem\WObj:=face1;
MoveL Offs(pinit,30,10,30),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,270,10,30)v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,270,10,270),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,30,10,270),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,30,10,30),v100,z5,usinagem\WObj:=face1;
MoveJ Offs(pinit,30,-10,30),v100,z5,usinagem\WObj:=face1;
WaitTime 2;
267

MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face1;
! Face3
ELSE
IF reg1=2 THEN
! MoveL pinit,v100,fine,usinagem;
MoveJ Offs(pinit,-10,150,30),v100,z5,usinagem\WObj:=face1;
MoveL Offs(pinit,10,150,30),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,30,150)v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,150,270),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,270,150),v100,fine,usinagem\WObj:=face1;
MoveL Offs(pinit,10,150,30),v100,z5,usinagem\WObj:=face 1;
MoveJ Offs(pinit,-10,150,30),v100,z5,usinagem\WObj:=face1;
WaitTime 2;
MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face1;
! Face4
! MoveL pinit,v100,fine,usinagem\WObj:=face1;
MoveJ Offs(pinit,30,-10,150),v100,z5,usinagem\WObj:=face1;
MoveL Offs(pinit,30,10,150),v100,fine,usinagem\WObj:=face1;
MoveC Offs(pinit,150,10,30),Offs(pinit,270,10,150)v100,fine,usinagem\WObj:=face1;
MoveC Offs(pinit,150,10,270),Offs(pinit,30,10,150)v100,fine,usinagem\WObj:=face1;
MoveJ Offs(pinit,30,-10,150),v100,z5,usinagem\WObj:=face1;
WaitTime 2;
MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face1;
! Face5
ELSE
IF reg1=3 THEN
! MoveL pinit,v100,fine,usinagem\WObj:=face2;
MoveJ Offs(pinit,30,150,310),v100,z5,usinagem\WObj:=face2;
MoveL Offs(pinit,30,150,290),v100,fine,usinagem\WObj:=face2;
MoveL Offs(pinit,150,270,290)v100,fine,usinagem\WObj:=face2;
MoveL Offs(pinit,270,150,290),v100,fine,usinagem\WObj:=face2;
MoveC Offs(pinit,150,30,290),Offs(pinit,30,150,290)v100,fine,usinagem\WObj:=face2;
MoveJ Offs(pinit,30,150,310),v100,z5,usinagem\WObj:=face2;
WaitTime 2;
MoveAbsJ
[[45,0,0,0,45,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]\NoEOffs,v500,z50,usinagem\WObj:=face2;
ENDIF
268

ENDIF
ENDIF
ENDPROC
ENDMODULE