Universidade Federal da Paraíba
Centro de Tecnologia
Programa de Pós-Graduação em Engenharia Mecânica
Mestrado - Doutorado
CONTROLADOR NEURAL COM CAMADA
OCULTA DEFINIDA POR MEIO DE ALGORITMO
GENÉTICO APLICADO AO POSICIONAMENTO
DE UM MANIPULADOR ROBÓTICO
por
Thyago Leite de Vasconcelos Lima
Dissertação de Mestrado apresentada à Universidade Federal da
Paraíba para obtenção do grau de Mestre
João Pessoa - Paraíba
Março-2012
THYAGO LEITE DE VASCONCELOS LIMA
CONTROLADOR NEURAL COM CAMADA
OCULTA DEFINIDA POR MEIO DE ALGORITMO
GENÉTICO APLICADO AO POSICIONAMENTO
DE UM MANIPULADOR ROBÓTICO
Dissertação apresentada ao Programa de
Pós-Graduação em Engenharia Mecânica
da Universidade Federal da Paraíba, em
cumprimento às exigências para obtenção
do Grau de Mestre.
Orientador: Professor Dr. Isaac Soares de Freitas
João Pessoa - Paraíba
2012
L732c
Lima, Thyago Leite de Vasconcelos.
Controlador neural com camada oculta definida por
meio de algoritmo genético aplicado ao posicionamento
de um manipulador robótico / Thyago Leite de Vasconcelos
Lima.-- João Pessoa, 2012.
152f. : il.
Orientador: Isaac Soares de Freitas
Dissertação (Mestrado) – UFPB/CT
1. Engenharia Mecânica. 2. Manipulador robótico – controle
de posição. 3. Redes neurais. 4. Algoritmo genético.
UFPB/BC
CDU: 621(043)
CONTROLADOR NEURAL COM CAMADA OCULTA
DEFINIDA POR MEIO DE ALGORITMO GENÉTICO
APLICADO AO POSICIONAMENTO DE UM
MANIPULADOR ROBÓTICO
por THYAGO LEITE DE VASCONCELOS LIMA Dissertação aprovada em 27 de abril de 2012
Período letivo 2011.2
______________________________________
Prof. Dr. Isaac Soares de Freitas
Orientador – UFPB
______________________________________
Prof. Dr. Simplício Arnaud da Silva
Examinador Interno – UFPB
______________________________________
Prof. Dr. José Bezerra de Menezes Filho
Examinador Externo – IFPB
João Pessoa - PB
2012
DEDICATÓRIA
Dedico este trabalho a Deus, a meus pais Francisco das Chagas de Vasconcelos Lima e
Joseni Leite de Vasconcelos Lima, a minha irmã, Thayane Leite de Vasconcelos Lima,
bem como a todas as pessoas que contribuíram de alguma forma para a realização deste
trabalho.
AGRADECIMENTOS
Primeiramente, a Deus, pois sem Sua presença nada seria possível.
A minha família, pelo apoio durante toda a trajetória de vida.
Ao meu orientador, professor Isaac S. de Freitas, pela atenção, apoio e
amizade.
Ao professor José Bezerra de Menezes Filho pela dedicação, esforço e
paciência que tanto contribuíram para a realização deste projeto.
Aos professores Jobson Francisco da Silva e Alberdan Santiago de Aquino, e a
Sra. Maria Cléa Cavalcante da Silva, pela contribuição e incentivo no decorrer da
montagem experimental desse projeto.
Aos amigos Carlos Alberto, Henrique Nóbrega, Bruno Jácome e Júlio Véras
por toda a contribuição positiva e dedicação no decorrer deste projeto.
A todos os professores e alunos do Programa de Pós Graduação em Engenharia
Mecânica por estarem sempre dispostos em ajudar para o desenvolvimento do trabalho.
CONTROLADOR NEURAL COM CAMADA OCULTA DEFINIDA
POR MEIO DE ALGORITMO GENÉTICO APLICADO AO
POSICIONAMENTO DE UM MANIPULADOR ROBÓTICO
RESUMO
No presente trabalho trata-se do controle de posicionamento de um
manipulador robótico com dois graus de liberdade. Tal controle é realizado por meio da
aplicação de uma rede neural multicamadas, emulando um controlador do tipo PD2. A
escolha do número de neurônios na camada oculta é feita com auxílio de um Algoritmo
Genético, cujo papel é gerar populações em que os indivíduos serão o número de
neurônios na camada oculta e avaliar o desempenho do sistema de controle quando
submetido a diferentes referências. Os dois melhores indivíduos de cada geração darão
origem a população da iteração seguinte, observando as probabilidades de cruzamento e
mutação, utilizando assim o critério do elitismo como garantia de otimização. A
avaliação do desempenho geral do sistema de controle, por sua vez, é feita com base na
resposta ao acompanhamento de trajetória (sinais senoidais) e a resposta de
posicionamento (sinais do tipo degrau).
Palavras chaves – controle de posição, redes neurais, manipulador robótico, algoritmos
genéticos.
NEURAL CONTROLLER WITH HIDDEN LAYER DEFINED BY
MEANS OF GENETIC ALGORITHM APPLIED TO THE
POSITIONING OF A ROBOTIC MANIPULATOR
ABSTRACT
This work presents the position control of a robotic manipulator with two
degrees of freedom. Such control is accomplished by applying a multilayer neural
network, emulating a PD2 controller. The choice of the number of neurons in the hidden
layer is made with the aid of a Genetic Algorithm, whose role is to generate populations
where individuals will be the number of neurons in the hidden layer and evaluate the
performance of the control system when subjected to different references signals. The
two best individuals of each generation will give origin to the population of the next
iteration, noting the probabilities of crossover and mutation, using the criterion of
elitism as a warranty of optimization. The evaluation of the overall performance of the
control system, in turn, is based on trajectory following response (sinusoidal reference
signals) and on position response (step reference signals).
Keywords – position control, neural networks, robotic manipulator, genetic algorithms.
SUMÁRIO
CAPÍTULO I ................................................................................................................ 17 APRESENTAÇÃO ....................................................................................................... 17 1.1 INTRODUÇÃO ................................................................................................... 17 1.2 OBJETIVOS E MOTIVAÇÃO DA PESQUISA ............................................... 20 1.3 ORGANIZAÇÃO DA DISSERTAÇÃO ............................................................ 21 CAPÍTULO II ............................................................................................................... 22 REVISÃO BIBLIOGRÁFICA .................................................................................... 22 2.1 INTRODUÇÃO ................................................................................................... 22 2.2 NOTAS HISTÓRICAS SOBRE ROBÔS .......................................................... 22 2.3 DEFINIÇÃO DE ROBÔ ..................................................................................... 26 2.3.1 Elementos de um Manipulador Robótico .............................................................. 26 2.3.2 Classificação dos Robôs ........................................................................................ 29 2.4 ESTRUTURAS DE CONTROLE ...................................................................... 33 2.4.1 Controle Clássico .................................................................................................. 34 2.4.2 Controle Adaptativo .............................................................................................. 35 2.4.3 Lógica Fuzzy .......................................................................................................... 38 2.4.4 Redes Neurais Artificiais ....................................................................................... 39 2.4.5 Algoritmos Genéticos ............................................................................................ 45 2.4.6 Redes Neurais Evolutivas ...................................................................................... 52 CAPÍTULO III DESCRIÇÃO E INSTRUMENTAÇÃO DO MANIPULADOR
ROBÓTICO .................................................................................................................. 53 3.1 INTRODUÇÃO ................................................................................................... 53 3.2 MANIPULADOR ROBÓTICO COM DOIS GRAUS DE LIBERDADE ....... 53 3.2.1 Sistema de Acionamento ........................................................................................ 57 3.2.2 Sistema de Comando e Proteção ........................................................................... 62 CAPÍTULO IV IDENTIFICAÇÃO DO SISTEMA E PROJETO DO
CONTROLADOR NEURAL ...................................................................................... 64 4.1 INTRODUÇÃO ................................................................................................... 64 4.2 IDENTIFICAÇÃO, PROJETO E SIMULAÇÃO DO SISTEMA DE
CONTROLE ................................................................................................................. 64 4.2.1 Identificação Experimental (caixa preta) .............................................................. 65 4.2.2 Aplicação do Algoritmo Genético ......................................................................... 68 4.2.3 Modelo do Controlador Neural ............................................................................. 71 4.2.4 Algoritmo de Retropropagação da Rede Neural ................................................... 75 4.2.5 Simulação do sistema e aquisição dos pesos sinápticos iniciais .......................... 77 4.2.6 Resposta do sistema para simulação dos controladores neurais .......................... 78 CAPÍTULO V ............................................................................................................... 82 UTILIZAÇÃO DO CONTROLADOR NEURAL NO ACIONAMENTO DO
MANIPULADOR ROBÓTICO .................................................................................. 82 5.1 INTRODUÇÃO ................................................................................................... 82 5.2 NOTAS SOBRE O SISTEMA ............................................................................ 82 5.3 ENSAIOS DE ACIONAMENTO DO SISTEMA.............................................. 83 5.3.1 Ensaios de Acionamento com Excitações do Tipo Degrau .................................. 83 5.3.2 Ensaios de Acionamento com Excitações do Tipo Seno e Cosseno ..................... 91 CAPÍTULO VI.............................................................................................................. 94 COMENTÁRIOS E CONCLUSÕES FINAIS ........................................................... 94 6.1 COMENTÁRIOS E CONCLUSÕES ................................................................. 94 6.2 PROPOSTAS PARA TRABALHOS FUTUROS ............................................. 95 REFERÊNCIAS BIBLIOGRÁFICAS ....................................................................... 96 APÊNDICE A ............................................................................................................. 109 TESTES COM O ALGORITMO GENÉTICO ........................................................ 109
A.1 INTRODUÇÃO ................................................................................................. 109 A.1.1 Resultados dos testes para o braço ..................................................................... 109 A.1.2 Resultados dos testes para a base ....................................................................... 132 LISTA DE TABELAS
Tabela 2.1 - Exemplos de representação do cromossomo .............................................. 47 Tabela 4.1 – Resultados de simulação do AG para o braço do manipulador robótico... 71 Tabela 4.2 – Resultados de simulação do AG para a base do manipulador robótico..... 71 Tabela 4.3 – Valores observados na simulação para referência ao degrau .................... 79 Tabela 4.4 – Valores simulados do controle neural de posição para referências com
funções circulares ........................................................................................................... 81 Tabela 5.1 – Índices de desempenho experimentais extraídos das curvas de resposta da
base ................................................................................................................................. 86 Tabela 5.2 – Índices de desempenho experimentais extraídos das curvas de resposta do
braço ............................................................................................................................... 88 11
LISTA DE FIGURAS
Figura 1.1 – Manipulador robótico de seis graus de liberdade (Adaptado de GIRALT,
1997) ............................................................................................................................... 18 Figura 2.1 – Elos (vínculos) e junta de um manipulador robótico (Rosário, 2005) ....... 27 Figura 2.2 – Tipos de juntas dos manipuladores robóticos ............................................ 28 Figura 2.3 – Robô de Coordenadas Cartesianas ............................................................. 29 Figura 2.4 – Robô de Coordenadas Cilíndricas .............................................................. 30 Figura 2.5 – Robô de Coordenadas Esféricas ................................................................. 30 Figura 2.6 – Robô de Articulação Horizontal (“SCARA”) ............................................ 31 Figura 2.7 – Robô Articulado ou Antropomórfico ......................................................... 31 Figura 2.8 – Robô Paralelo ............................................................................................. 32 Figura 2.9 – Sistema de controle .................................................................................... 33 Figura 2.10 – Sistema de controle em malha aberta ....................................................... 34 Figura 2.11 – Sistema de controle em malha fechada .................................................... 34 Figura 2.12 – Controlador PID ....................................................................................... 35 Figura 2.13 – Estrutura de um controlador adaptativo ................................................... 36 Figura 2.14 – Controle adaptativo direto ........................................................................ 37 Figura 2.15 – Controle adaptativo indireto..................................................................... 38 Figura 2.16 – Modelo do neurônio de McCulloch e Pitts .............................................. 40 Figura 2.17 – Funções de ativação ................................................................................. 42 Figura 2.18 – Rede neural de múltiplas camadas ........................................................... 43 Figura 2.19 – Rede neural cíclica ................................................................................... 44 Figura 2.20 – Funcionamento básico do AG (BITTENCOUT, 2007) ........................... 46 Figura 2.21 – Método de seleção por roleta .................................................................. 48 Figura 2.22 – Exemplo de crossover de um ponto ......................................................... 49 Figura 2.23 – Exemplo de crossover de dois pontos ...................................................... 49 Figura 2.24 – Exemplo de crossover uniforme............................................................... 50 12
Figura 2.25 – Exemplo de Mutação................................................................................ 50 Figura 3.1 – Ilustração do manipulador robótico utilizado na pesquisa ......................... 54 Figura 3.2 – Representação do braço mecânico desenvolvido ....................................... 54 Figura 3.3 – Elementos de acionamento do braço mecânico ......................................... 55 Figura 3.4 – Elementos de acionamento da base ............................................................ 56 Figura 3.5 – Sistema montado ........................................................................................ 56 Figura 3.6 – Manipulador robótico utilizado nas pesquisas ........................................... 57 Figura 3.7 – Manipulador robótico e sistema de comando............................................. 57 Figura 3.8 – Diagrama esquemático do sistema ............................................................. 58 Figura 3.9 – Placa de aquisição de dados (NI-DAQ USB 6008) ................................... 59 Figura 3.10 – Transdutor angular (potenciômetro) ........................................................ 59 Figura 3.11 – Transferidor da base ................................................................................. 60 Figura 3.12 – Transferidor do braço ............................................................................... 60 Figura 3.13 – Diagrama de acionamento, comando e proteção do sistema.................... 63 Figura 4.1 – Sinal de excitação e curva de saída experimental da base ......................... 66 Figura 4.2 – Curvas de resposta experimental e simulada do sistema – Base ................ 66 Figura 4.3 – Sinal de excitação e curva de saída experimental do braço ....................... 67 Figura 4.4 – Curvas de resposta experimental e simulada do sistema – Braço .............. 68 Figura 4.5 – Fluxograma do AG utilizado na pesquisa .................................................. 69 Figura 4.6 – Estrutura da rede neural utilizada na pesquisa ........................................... 74 Figura 4.7 – Controlador neural para a base ................................................................... 75 Figura 4.8 – Controlador neural para o braço ................................................................ 75 Figura 4.9 – Curva de resposta da base para uma referência de 100° ............................ 78 Figura 4.10 – Curva de resposta do braço para uma referência de 80° .......................... 79 Figura 4.11 – Resposta à referência cossenoidal - Base ................................................. 80 Figura 4.12 – Resposta à referência senoidal - Braço .................................................... 80 Figura 5.1 - Curvas de resposta e de referência ao Degrau de 100° da base .................. 84 Figura 5.2 - Curva de resposta da variável de controle da base para uma referência do
tipo degrau de 100 ° ........................................................................................................ 84 Figura 5.3 – Curvas de resposta e de referência ao Degrau de -100° da base ................ 85 Figura 5.4 – Curva de resposta da variável de controle da base para uma referência do
tipo degrau de -100 ° ...................................................................................................... 85 13
Figura 5.5 – Curvas de resposta e de referência ao Degrau de 80° do braço ................. 86 Figura 5.6 – Curva de resposta da variável de controle do braço para uma referência do
tipo degrau de 80 ° .......................................................................................................... 87 Figura 5.7 – Curvas de resposta e de referência ao Degrau de -80° do braço ................ 87 Figura 5.8 – Curva de resposta da variável de controle do braço para uma referência do
tipo degrau de -80 ° ........................................................................................................ 88 Figura 5.9 – Curvas de resposta e de referência degrau variável do braço .................... 89 Figura 5.10 – Variável de controle para curva de resposta ao degrau variável do braço 89 Figura 5.11 – Curvas de resposta e de referência degrau variável da base .................... 90 Figura 5.12 – Variável de controle para curva de resposta ao degrau variável da base . 90 Figura 5.13 - Acompanhamento de trajetória senoidal – Braço ..................................... 91 Figura 5.14 – Variável de controle para acompanhamento de trajetória senoidal – Braço
........................................................................................................................................ 92 Figura 5.15 – Acompanhamento de trajetória cossenoidal – Base ................................. 92 Figura 5.16 – Variável de controle para acompanhamento de trajetória cossenoidal –
Base ................................................................................................................................ 93 14
LISTA DE SÍMBOLOS
e(k)
Erro de posição no instante de amostragem k
e(k-1)
Erro de posição armazenado no instante anterior ao tempo k
e(k-2)
Erro de posição armazenado no instante anterior ao tempo k-1
ess (%)
Erro de regime permanente do sinal em porcentagem
f
Freqüência aplicada ao estator do motor de indução
UP %
Ultrapassagem Percentual do sinal
n
Comprimento do vetor erro
nr
Velocidade de rotação do rotor do motor de indução
ns
Velocidade de rotação síncrona do campo magnético do estator do motor
de indução
p
Número de pólos do motor de indução
s
Escorregamento do motor de indução
T
Período do sinal
Ts(s)
Tempo de assentamento do sinal em segundos
Vcc
Tensão de corrente contínua
in(i)
Sinais de entrada para uma rede neural de multicamadas
S
Operador da Transformada de Laplade
Z
Operador da Transformada Z
Whid
Matriz de pesos sinápticos entre a camada oculta e a camada de saída de
uma Rede Neural de Multcamadas
Win
Matriz de pesos sinápticos entre a camada de entrada e a camada oculta
de uma Rede Neural de Multicamadas
Vin
Matriz do campo induzido na camada oculta da Rede Neural
Y
Matriz do sinal funcional dos neurônios da Rede Neural
vout
Campo induzido na camada de saída da Rede Neural
out
Sinal de saída da Rede Neural
out
Gradiente local da camada de saída da Rede Neural
15
Δhid
Matriz de variação dos elementos de Whid
in
Gradiente local da camada oculta da Rede Neural
Δin
Matriz de variação dos elementos de Win
η
Fator de convergência da Rede Neural
16
CAPÍTULO I
APRESENTAÇÃO
1.1 INTRODUÇÃO
A necessidade de desenvolvimento e aplicação de ferramentas capazes de
auxiliar o homem em suas tarefas cotidianas está presente desde os primórdios de sua
origem. No decorrer dos séculos, vários eventos contribuíram para a eventual
substituição do homem pela máquina, como o desenvolvimento da máquina a vapor por
James Watt, em 1769.
No que se refere à sociedade industrial verifica-se que o avanço tecnológico
vivenciado nas últimas décadas gerou alterações nas estruturas de organização do
processo produtivo, estimulando assim a adoção de variados modelos de produção com
o objetivo de minimizar os custos industriais. Neste contexto destacam-se a automação
programável, relativa à fabricação em série de pequenos e médios lotes de produtos, e
automação flexível, referida à fabricação de lotes variáveis de produtos diversos
(ROMANO, 2002).
Os robôs industriais desempenham um papel de destaque nos processos de
automação programável ou flexível devido a sua capacidade de se adaptar a situações
diversas e de serem capazes de realizar inúmeros movimentos programados. Nas
décadas de 50 e 60 os robôs industriais foram introduzidos com a finalidade de
substituir o homem na execução de tarefas repetitivas e/ou perigosas visando uma
melhoria na qualidade, aumento da produtividade e redução dos custos de produção.
No final da década de cinquenta foi desenvolvido o que se pode chamar de
primeiro robô automático, um conceito de J. K. Devol, chamado Unimate (GIRALT,
1997).
O projeto do Unimate utilizava princípios de controle desenvolvidos em
17
máquinas operatrizes com comando numérico para controlar o manipulador, que por sua
vez era acionado hidraulicamente, da mesma maneira que o teleoperador “master-slave”
(FU et al., 1987). No ano de 1961 esse robô foi instalado no chão-de-fábrica da Ford e,
desde então, a robótica continuou a se desenvolver de maneira acelerada, de tal forma
que atualmente existem estudos com robôs capazes de imitar movimentos humanos
(KOMAGOME et al., 2007) e com robôs para aplicações domésticas (WANG et al.,
2010).
Na Figura 1.1 está representado o arquétipo do robô manipulador inspirado no
braço humano. Através da programação dos três ângulos do braço (α, β, γ), e da
aplicação do comando adequado aos motores das três articulações é possível levar o
atuador a um dado ponto dentro dos limites espaciais de trabalho. De maneira análoga,
pode-se programar os três ângulos (ψ, θ, φ) e comandar os acionadores do pulso para
levar o elemento presente na extremidade do braço a tomar a orientação desejada com
base na tarefa a ser realizada (GIRALT, 1997).
Figura 1.1 – Manipulador robótico de seis graus de liberdade (Adaptado de
GIRALT, 1997)
Os robôs industriais vêm sendo empregados em tarefas como o transporte e
manejo de materiais (ENDO et al., 2008), montagem e manufatura (FEI et al., 2010),
soldagem (CHEN et al., 2008), pintura (GAZEAU et al., 2011). Contudo, para assegurar
que a presença do robô no processo produtivo seja verdadeiramente proveitosa é preciso
que seja aplicada uma boa estratégia de controle. A partir da segunda metade do século
passado, com o crescente avanço da automação industrial, têm sido cada vez maiores os
18
esforços direcionados ao controle automático de sistemas dinâmicos. Durante esse
período, várias técnicas de controle têm sido estudadas, como controle robusto, controle
ótimo, controle adaptativo, controle não-linear, controle inteligente.
Como alternativas ao controle convencional são aplicados os controles
inteligentes, consistindo basicamente de três abordagens: sistemas especialistas
baseados em conhecimento, controle por lógica fuzzy e controle por redes neurais
(PARASKEVOPOULOS, 1995).
Denomina-se Rede Neural Artificial (RNA) um processador paralelamente
distribuído constituído de unidades de processamento simples, que têm a propensão
natural para armazenar conhecimento experimental e torná-lo disponível para uso
(HAYKIN, 2001). Ainda segundo o mesmo autor, a rede neural se assemelha ao cérebro
humano nos seguintes aspectos:
– O conhecimento é adquirido pela rede a partir de seu ambiente por meio de
um processo de aprendizagem;
– Forças de conexão entre neurônios, conhecidas como pesos sinápticos, são
utilizadas para armazenar o conhecimento adquirido.
Na literatura são encontrados inúmeros trabalhos com aplicação de redes
neurais, seja na robótica (ZHAO-HUI et al., 2007; ZHAO e CHEAH, 2009), na
medicina (YAN et al., 2006) ou no ramo automotivo (ORTEGA e SILVA, 2008).
Recentemente, NÓBREGA SOBRINHO (2011) apresentou um acionamento
automático de uma mesa de coordenadas X-Y acionada por motores de indução
trifásicos utilizando redes neurais artificiais para o seu controle de posição e
acompanhamento de trajetória.
Existem também sistemas de controle que combinam computação evolutiva e
redes neurais. Entre os métodos de computação evolutiva pode-se citar o algoritmo
genético.
De acordo com CAMPOS & SAITO (2004) os algoritmos genéticos são
métodos de busca inspirados nos mecanismos de seleção natural (Teoria da Evolução) e
da genética. Estes algoritmos combinam um mecanismo de valorização dos indivíduos,
mais adaptados ao objetivo em questão (elitismo), com uma estrutura para combinar e
reproduzir, aleatoriamente, estes indivíduos, criando uma nova população. Assim, a
cada geração, um conjunto de novos indivíduos é criado utilizando-se informações
contidas na geração passada. A cada nova iteração (geração) é gerada uma população
19
que apresenta novas e melhores soluções para o problema em que foi aplicado o
algoritmo genético, culminando assim em uma convergência (FERNANDES, 2005).
Estes algoritmos foram estudados inicialmente por John Holland, em meados
dos anos 70 (HOLLAND, 1975) e podem ser divididos nas seguintes etapas:
– Inicialização: gera uma população de respostas em potencial para um
problema a ser tratado;
– Avaliação: nesta etapa é avaliada a aptidão das soluções, ou indivíduos da
população, de forma que se verifica o quão bem essas respostas se adequam ao
problema proposto;
– Seleção: as soluções são selecionadas para reprodução, de forma que a
probabilidade de uma resposta ser selecionada é proporcional à sua aptidão;
– Cruzamento: informações pertinentes às soluções escolhidas são
recombinadas, gerando assim novos indivíduos;
– Mutação: características das soluções que resultaram do processo de
reprodução são modificadas, com o objetivo de acrescer variedade à população;
– Atualização: os indivíduos criados nesta geração são inseridos na
população;
– Finalização: nesta etapa se verifica se as condições necessárias para o
encerramento da evolução foram satisfeitas. Caso negativo, o processo retorna para a
etapa de avaliação.
SOUZA (2008) apresentou a aplicação dos algoritmos genéticos na proteção e
estimação de harmônicos em sistemas elétricos de potência. COELHO & MARIANI
(2006) desenvolveram um sistema híbrido neuro-evolutivo aplicado ao controle de um
processo multivariável.
1.2 OBJETIVOS E MOTIVAÇÃO DA PESQUISA
O objetivo do presente trabalho é apresentar o desenvolvimento de um
manipulador robótico, assim como realizar seu controle de posição e acompanhamento
de trajetória por meio da aplicação de redes neurais multicamadas.
A estrutura de controle utiliza Redes Neurais Artificiais (RNA) com
atualização de pesos sinápticos através do mecanismo de retropropagação e emula um
controlador PD2, que é utilizado em sistemas que têm dois pólos dominantes e
apresenta comportamento integral (um terceiro pólo igual a 1).
20
O número de neurônios da camada oculta da RNA é determinado pelo
algoritmo genético, com base na resposta do sistema de controle quando submetido a
variados sinais de referência.
Os controladores neurais apresentam capacidade de adaptação frente a eventuais
variações da planta e fácil implementação utilizando-se a linguagem C ou ambientes de
programação do tipo LabVIEW® ou MATLAB®
1.3 ORGANIZAÇÃO DA DISSERTAÇÃO
O trabalho está organizado em seis capítulos, de forma que cada capítulo
apresenta os seguintes conteúdos:
No Capítulo II apresenta-se uma revisão bibliográfica do conteúdo da pesquisa.
Neste são apresentados um breve histórico sobre os robôs, contemplando sua
classificação, os elementos inerentes a um manipulador robótico, os tipos de juntas e as
definições de graus de liberdade e mobilidade, respectivamente. Além disso, é
apresentada uma revisão a respeito das filosofias de controle utilizadas atualmente.
No Capítulo III versa-se sobre o projeto, desenvolvimento e instrumentação do
manipulador robótico, contemplando sua descrição mecânica, o sistema de
acionamento, o sistema de aquisição de dados e, por fim, o sistema de medição de
posição. Este capítulo apresenta também uma nota sobre o tipo de motor de indução
trifásico utilizado no projeto, além da justificativa de sua seleção, e o principio de
funcionamento dos inversores de frequência.
No Capítulo IV é apresentado o procedimento de identificação do sistema.
Também é descrito o processo de seleção da arquitetura da rede por meio da aplicação
de algoritmos genéticos. Por fim, é apresentado o desenvolvimento dos controladores
neurais do sistema do manipulador robótico.
No Capítulo V são mostrados os resultados experimentais obtidos em testes
realizados em laboratório com a estratégia de controle utilizada. Os ensaios
apresentados foram obtidos com foco em controle de posição e acompanhamento de
trajetória.
No capítulo VI, são feitos alguns comentários finais e a conclusão acerca do
projeto. Em complemento, são apresentadas algumas propostas para trabalhos futuros.
21
CAPÍTULO II
REVISÃO BIBLIOGRÁFICA
2.1 INTRODUÇÃO
Neste capítulo é apresentada uma breve revisão bibliográfica a respeito da
história da robótica, bem como aspectos construtivos e classificações dos robôs. Com
relação às estruturas de controle são apresentadas metodologias de controle clássico,
adaptativo, controle por lógica fuzzy, controle por redes neurais, controladores baseados
em algoritmos genéticos e controladores híbridos.
2.2 NOTAS HISTÓRICAS SOBRE ROBÔS
O termo robô teve sua origem em 1917, derivado da palavra tcheca robata, que
significa "trabalho forçado”. Sua primeira aparição foi na obra de ficção científica
“Opilek” e três anos depois na peça teatral “Os Robôs Universais de Rossum”, ambas
do escritor tcheco Karel Capek. No trabalho artístico, um cientista chamado Rossum,
juntamente com seu filho, fabricava humanos artificiais, denominados robôs, cuja
existência era destinada à realização de trabalhos escravos. Nos anos que se seguiram os
robôs apresentam as mesmas características básicas expostas na obra teatral: a
semelhança morfológica com seres humanos e a capacidade de repetir comandos de um
operador. Nos países de língua eslava, a palavra robata significa trabalhador, embora
nos dias atuais signifique tanto humano quanto mecânico (SNYDER, 1985).
22
Na década de 40, Isaac Asimov e John Campbell tornaram popular o conceito
de robô, descrevendo-o como máquinas inteligentes, de aparência humana, não
possuidora de sentimentos e de bom comportamento que seguem fielmente as instruções
e comandos sugeridos por humanos, de forma a seguirem determinadas regras éticas de
conduta. Foram nos trabalhos de Asimov e Campbell que o termo robótica foi aplicado
pela primeira vez para designar a ciência que se dedica ao estudo dos robôs e também
que as três leis da robótica foram propostas (SCHIAVICCO, SICILIANO, 1995):
 Primeira lei – Um robô não fará mal a um ser humano, nem por omissão,
permitirá que o ser humano seja ferido;
 Segunda lei – Um robô obedecerá às ordens dadas pelos humanos, exceto se tais
ordens conflitarem com a primeira lei;
 Terceira lei – Um robô protegerá sua própria existência, até o instante em que
tal ação conflite com as duas primeiras leis.
No meio científico, o surgimento dos robôs foi resultado de constantes
evoluções e inovações nas técnicas de manufatura de dispositivos e de resolução de
modelos matemáticos. A base tecnológica para os atuais robôs foi desenvolvida a partir
de pesquisas iniciadas logo após a Segunda Grande Guerra Mundial (ROMANO, 2002).
Os primeiros robôs construídos apresentavam uma constituição que imitava o braço
humano possuindo forma serial na união de seus segmentos (FU et al., 1987). Tratavase de robôs teleoperados do tipo “master-slave”, empregados em atividades de
manipulação de materiais radioativos. O sistema era formado de um manipulador
“master”, manipulado por um operador humano responsável por realizar a sequência de
movimentos desejada, e um manipulador “slave” capaz de reproduzir os movimentos
realizados pelo “master” de maneira remota (ROMANO, 2002).
Entre as décadas de 50 e 60 os robôs foram inseridos nos processos industriais,
associados aos objetivos da produção automatizada, a qual visa (BOUTEILLE et al.,
1997):
– Reduzir custos dos produtos fabricados, por meio de: diminuição do número
de pessoas envolvidas na produção, aumento da quantidade de produtos em um dado
período (produtividade), melhor utilização de matéria-prima (redução de perdas,
otimização do aproveitamento), economia de energia, etc.;
23
– Melhorar a qualidade do produto, por meio do controle mais racional dos
parâmetros de produção;
– Melhorar as condições de trabalho do ser humano, por meio da eliminação de
atividades perigosas ou insalubres de seu contato direto;
– Realizar atividades impossíveis de serem controladas manualmente ou
intelectualmente, como por exemplo, a montagem de peças em miniatura, a
coordenação de movimentos complexos e atividades muito rápidas (deslocamento de
materiais).
Algumas das atividades mais comuns exercidas pelos robôs são: montagem e
manufatura (FEI et al., 2010), soldagem a arco e a ponto (YANPING et al., 2009;
CHEN et al., 2008), transporte e manejo de materiais (WARWELA et al., 2010; ENDO
et al., 2008), pintura (JARVIS, 1973; ASAKAWA et al., 1997; FUHLBRIGGE et al.,
2008; GAZEAU et al., 2011).
A partir da instalação do Unimate na linha de produção da Ford, em 1961
(GIRALT, 1997), a robótica continuou seu veloz desenvolvimento (SANTOS, 2004;
McKERROW, 1993; GROVER et al., 1986; HUNT, 1983):
– Em 1968 foi desenvolvido no Standford Reserach Institute o “Shakey”, um
robô móvel dotado de câmera de vídeo e sensores de contato. Esse robô foi
desenvolvido com o objetivo de estudar os processos para controle em ambientes
complexos;
– No ano de 1971 foi desenvolvido pela Universidade de Standford um braço
robótico com acionamento elétrico chamado Braço de Standford;
– Em 1972 a IBM desenvolveu um robô de coordenadas retangulares para uso
interno e possivelmente vendas;
– Em 1973 surgiu a primeira linguagem de programação para robôs: WAVE.
Também nesse ano o modelo T3 da Cincinnati Milacron tornou-se popular no ambiente
industrial.
– Introdução do robô PUMA pela Unimation, em 1978, enviado para a GM;
– Em 1979 ocorreu o desenvolviemnto do robô SCARA na universidade de
Yamanashi;
24
– Desenvolvimento do robô com atuação direta (diret drive) na CMU, em
1981;
– Em 1982, tanto a GM e a Fanuc assinaram um acordo para construção de
robôs GMFanuc;
– Projeto para uma linha de montagem flexível automatizada com aplicação de
robôs, em 1983;
– Surgimento de muitos sistemas de programação off-line, no ano de 1984;
– 1989 – Desenvolvimento de sistemas de reconhecimento de imagens através
da visão;
– Família de robôs móveis Rocky no Jet Propulsion Laboratory, em 1996;
– Anúncio do primeiro robô humanoide que sobe escadas, pela Honda em
1997;
– Sistemas de exploração de petróleo por robôs em águas profundas, 2000.
Nos últimos anos acompanha-se o desenvolvimento de inúmeros sistemas
robóticos para diversos tipos de aplicações, como imitar movimentos humanos
(KOMAGOME et al., 2007), robôs cognitivos (WANG et al., 2010), robôs “sociais”
instalados em centros comerciais (SHIOMI et al., 2009) , robôs para atuação em
resgastes após ocorrência de desastres (SATO, 2008).
Os robôs industriais são de grande importância econômica e tecnológica. Até o
final de 2007, cerca de 1.25 milhões de robôs foram instalados em todo o mundo, desde
sua introdução em 1961 (IFR, 2008). Naquela época, no mínimo 995 mil ainda estavam
em operação, a maior parte (65-80%) em indústrias automotivas e de fabricação de
metal.
Um ponto forte dos robôs industriais é o grau de exatidão que possui para
movimentos repetidos, aparentemente de maneira infinita (NIKU,2001), com alturas e
cargas variáveis (até 1.000 Kg) (KUKA, 2008). No entanto, aos robôs falta a capacidade
para responder em situações de emergência, a menos que a situação seja prevista
(NIKU, 2001). Sua força e elevada exatidão de posicionamento e rigidez vêm junto com
uma alta relação de massa-carga, 10:1. Apesar de materiais de fibra de carbono estarem
sendo empregados (KUKA, 2009), a relação massa-carga ainda é uma ordem de
grandeza pior do que a do braço humano.
25
2.3 DEFINIÇÃO DE ROBÔ
Por conta de sua constante evolução, muitas definições são possíveis para os
robôs. Para a Robotic Industries Association (RIA), um robô industrial é definido como
um manipulador reprogramável e multifuncional, projetado para mover e manusear
materiais, peças, ferramentas ou dispositivos especiais, capazes de desempenhar uma
variedade de tarefas através de movimentos variáveis programados (RIVIN, 1988). A
ISO 8373:1994 (ISO, 1994) afirma que um robô industrial é definido como um
manipulador programável em três ou mais eixos, controlado automaticamente,
reprogramável e multifuncional. Outra definição mais completa é apresentada pela
norma ISO 10218-1:2006 (ISO, 2006), cuja definição para robô industrial é: “uma
máquina manipuladora com vários graus de liberdade controlada automaticamente,
reprogramável, multifuncional, que pode ter base fixa ou móvel para utilização em
aplicações de automação industrial”.
2.3.1
Elementos de um Manipulador Robótico
Um robô industrial é constituído basicamente pela integração dos seguintes
componentes (ROMANO, 2002; RIVIN, 1988, SEERING e SHCEINMAN, 1985;
WARNECKE et al., 1985; SCIESZKO, 1988; BORODIN, 1988):
a) Manipulador mecânico: refere-se, principalmente, ao aspecto mecânico ou
estrutural do robô. Consiste da combinação dos elos conectados entre si através de
juntas, sendo o primeiro corpo denominado base e o último o conjunto braço/punho
(arm-wrist), onde estará fixo o componente efetuador (garra ou ferramenta).
Os robôs manipuladores utilizam, geralmente, as primeiras juntas para
posicionar a estrutura constituída pelas juntas seguintes, denominada punho, que é
utilizada para orientar o elemento presente no terminal do braço (CARVALHO, 1993).
As juntas utilizadas para realizar esse posicionamento formam o braço.
O punho
apresenta geralmente duas configurações: pitch-yaw-row (Y,Z,X), como o punho
humano, ou roll-pitch-roll (Z,Y,Z), também denominado punho esférico. De acordo
com ROSÁRIO (2005), os braços mecânicos dos robôs são capazes de se moverem de
várias formas, devido as suas juntas ou uniões. O número de juntas pode variar de
acordo com o projeto, porém a maioria utiliza entre 3 e 6 juntas. Na Figura 2.1 está
ilustrada a junta de um braço mecânico, bem como os elos (vínculos).
26
Figura 2.1 – Elos (vínculos) e junta de um manipulador robótico (Rosário, 2005)
As juntas podem ser classificadas em dois grandes grupos: juntas deslizantes
ou prismáticas e juntas rotativas. Nas juntas rotacionais (R), a conexão permite
movimentos de rotação entre dois vínculos. Nas prismáticas (P), o movimento relativo
dos elos é linear. Existe ainda um terceiro tipo de junta, chamada de esférica (S), sendo
esta uma combinação de três juntas rotacionais com o mesmo ponto de rotação
(SANTO, 2004). Os três tipos de juntas estão ilustrados na Figura 2.2.
b) Atuadores: são dispositivos que produzem movimento a uma parte
mecânica pelo desenvolvimento de forças baseado em um princípio físico de conversão
de energia. O atuador responde a comandos que podem ser manuais ou automáticos. Os
atuadores podem ser, em geral, hidráulicos, pneumáticos e eletromagnéticos.
Atuadores hidráulicos tornam possível à implementação de um controle
contínuo e acurado de velocidade e posicionamento devido à incompressibilidade do
óleo hidráulico resultando assim em uma rigidez elevada. A relação entre a potência
mecânica transmitida pelo atuador e o seu peso é elevada possibilitando a construção de
unidades compactas de alta potência.
27
Figura 2.2 – Tipos de juntas dos manipuladores robóticos
Já
os
atuadores
pneumáticos
apresentam
baixa
rigidez
devido
à
compressibilidade do ar tornando-o pouco preciso quanto ao controle de
posicionamento entre as posições limite. Atuadores eletromagnéticos apresentam
vantagens que os fazem ser os mais aplicados em robôs, como a grande variedade de
fabricantes no mercado e a facilidade de se programar seus movimentos. Os atuadores
hidráulicos e pneumáticos podem ter a forma de cilindros lineares (movimentos
lineares) ou motores (deslocamentos angulares). Como exemplos de atuadores
eletromagnéticos podem-se citar o eletroímã, motores de corrente contínua e o motor de
passo.
c) Sensores: são destinados a fornecer ao controlador informações sobre o
comportamento do manipulador, bem como estão ligados à medição do estado interno
do robô. Os sensores mais utilizados em manipuladores industriais são os sensores de
posição, de velocidade, de proximidade e de extensão.
Sensores de posição monitoram a posição das juntas e as informações captadas
por eles são utilizadas para determinar a exatidão dos movimentos das juntas. Sensores
de extensão medem a distância entre um ponto qualquer e um ponto de referência. Por
sua vez, os sensores de velocidade são aplicados na estimação da velocidade com que o
manipulador se desloca. Já os sensores de proximidade são utilizados para captar e
indicar a presença de algum objeto dentro de um espaço ou distância específica sem a
necessidade de contato físico.
d) Controlador: responsável por gerar e monitorar as informações que
comandarão um ou mais atuadores com base em um algoritmo de controle. É um
dispositivo que realiza operações matemáticas sobre o sinal de erro com o objetivo de
28
produzir uma ação corretiva de modo que o sistema satisfaça certos critérios de
desempenho. Tais operações matemáticas são chamadas de ações de controle
(BAZANELLA et al., 2005).
e) Efetuador: é o elemento responsável pela interação do robô com o ambiente
ao seu redor. Pode ser do tipo garra ou ferramenta, sendo a garra destinada ao transporte
e a manipulação de um determinado objeto. A ferramenta, por sua vez, tem a função de
realizar uma ação ou trabalho sobre uma peça sem necessariamente ter de manipulá-la.
2.3.2
Classificação dos Robôs
Assim como existem diferentes definições para robôs, também existem
diversas classificações que levam em conta os aspectos construtivos, a tecnologia
empregada em seu controle, ou até mesmo a geração tecnológica.
Quanto à estrutura mecânica, as principais configurações básicas de robôs são
(SCHIAVICCO e SOCILIANO, 1995; IFR, 2000, GROOVER; 1988):
a) Robôs de Coordenadas Cartesianas: apresentam três juntas prismáticas
(PPP), o que resulta em um movimento composto por três translações que coincidem
com um sistema de coordenadas cartesianas.
Figura 2.3 – Robô de Coordenadas Cartesianas
b) Robôs de Coordenadas Cilíndricas: são formados por duas juntas
prismáticas e uma de rotação (PPR), permitindo que o robô realize movimentos de duas
29
translações e uma rotação. Para esse tipo de robô, os eixos de movimento podem ser
descritos no sistema de coordenadas cilíndricas.
Figura 2.4 – Robô de Coordenadas Cilíndricas
c) Robôs de Coordenadas esféricas: apresentam duas juntas de rotação e
uma junta prismática (PRR), permitindo um movimento de uma translação e duas
rotações.
Figura 2.5 – Robô de Coordenadas Esféricas
c) Robôs de Articulação Horizontal (“SCARA”): possuem duas juntas de
revolução dispostas em paralelo e uma junta prismática perpendicular ao plano formado
pelas juntas de revolução (RRP). Esse tipo de robô é empregado largamente em
montagens de placas de circuitos eletrônicos.
d) Robô Articulado ou Antropomórfico: é a configuração que garante a
maior mobilidade dentre os tipos de robôs. Robôs articulados apresentam ao menos três
juntas de rotação. O eixo de movimento da junta de rotação da base é ortogonal às
outras duas juntas de rotação, que são simétricas entre si.
30
Figura 2.6 – Robô de Articulação Horizontal (“SCARA”)
Figura 2.7 – Robô Articulado ou Antropomórfico
e) Robôs paralelos: apresentam uma configuração do tipo plataforma e
mecanismos em forma de cadeia cinemática fechada.
Uma outra classificação (RIVIN, 1988; ROSEN, 1985; SANTOS, 2004;
ROMANO, 2002) refere-se às gerações tecnológicas dos robôs industriais:
a) Robôs da 1ª geração: são denominados robôs de sequência fixa, pois
repetem uma sequência pré-programada de instruções para realizar operações como a
pintura ou a solda;
31
Figura 2.8 – Robô Paralelo
b) Robôs da 2ª geração: possuem recursos computacionais (malhas de
controle fechadas) retroalimentados por sensores. Tomam decisões com base nas
informações coletadas pelos sensores. São capazes de realizar tarefas como o
reconhecimento de uma peça a ser manipulada dentro de um conjunto variado de peças;
c) Robôs da 3ª geração: diferem da geração anterior por possuírem um
sistema de visão para o processamento de imagens integrado à malha de controle
fechada;
d) Robôs da 4ª geração: são robôs capazes de reprogramar suas ações com
base nas informações captadas pelos sensores (robôs com controle adaptativo);
e) Robôs da 5ª geração: são robôs que utilizam técnicas de inteligência
artificial para tomar decisões, resolver problemas, se conectar com outros robôs e
máquinas, armazenar programas e se comunicar com outros sistemas computacionais.
Pode-se também, segundo a JIRA (Japanese Industrial Robot Association),
classificar os robôs de acordo com o nível de inteligência do controlador (SCHIRMER,
2005):
a) Robôs manipulados: dispositivos com vários graus de liberdade operados
por seres humanos;
b) Robôs de sequência fixa: dispositivos que desempenham sucessivas tarefas
de acordo com uma programação previamente definida e imutável, muito difícil de ser
modificada;
32
c)
Robôs
de
sequência
variável:
dispositivos
manipuladores
que
desempenham tarefas sucessivas que podem ser modificadas facilmente;
d) Robôs repetitivos: são dispositivos em que o operador guia o robô a
executar uma tarefa fixa;
e) Robôs de controle numérico: robôs em que o operador fornece o programa
de movimento, ao invés de ensiná-lo manualmente;
f) Robôs inteligentes: robôs que percebem e interagem com alterações do
ambiente.
2.4 ESTRUTURAS DE CONTROLE
Define-se como planta ou processo um sistema a ser controlador, como
representado de maneira simplificada pela Figura 2.9. O sinal que é aplicado na entrada
é chamado sinal de controle. O sinal de saída do processo é denominado variável de
processo, cujo comportamento se deseja controlar. Além disso, geralmente os sistemas
estão sujeitos à ação de sinais externos chamados perturbações, em cujos valores não se
pode interferir (BAZANELLA, 2005).
Figura 2.9 – Sistema de controle
Um sistema de controle pode ser classificado em malha aberta e malha
fechada. Em um sistema de controle dito de malha aberta, o sinal de saída não é medido
nem retroalimentado para efetuar-se uma comparação com o sinal de entrada. Nesse
tipo de sistema de controle podem-se utilizar controladores e circuitos de acionamento
em série com o processo a ser controlado, de modo que a entrada do processo será tal
que sua saída se comporte de maneira desejada (NÓBREGA SOBRINHO, 2011). Na
Figura 2.10 está ilustrada a estrutura básica de um sistema de controle em malha aberta.
33
Figura 2.10 – Sistema de controle em malha aberta
Em um sistema de controle em malha fechada, a diferença entre o sinal de erro
e o sinal retroalimentado é chamada de erro. Esse sinal realimentado pode ser tanto o
sinal de saída da planta, como uma função do próprio sinal de saída e suas derivadas. O
sinal de erro é introduzido no controlador a fim de ser minimizado, de modo que o valor
da saída atinja o valor desejado. Dessa forma, o sinal de controle é determinado de
forma a corrigir o desvio entre a saída e o sinal de referência. O sistema em malha
aberta apresenta sensibilidade às perturbações e incapacidade de corrigir o efeito de tais
perturbações, realidade superada pelo sistema em malha fechada. Na Figura 2.11 é
ilustrada a estrutura básica de um sistema de controle em malha fechada.
Figura 2.11 – Sistema de controle em malha fechada
O dispositivo que utiliza o sinal de erro para determinar ou calcular o sinal de
controle a ser aplicado à planta é chamado de controlador ou compensador. O
controlador executa operações matemáticas sobre o sinal de erro para garantir que o
sinal de controle seja capaz de manter a planta dentro de certos critérios de desempenho
(BAZANELLA, 2005). O cálculo do sinal de controle pode ser baseado nas variáveis de
estado do sistema ou em sinais do sistema (sinal de referência, de saída da planta, do
próprio sinal de controle).
2.4.1
Controle Clássico
Diversas técnicas para o controle de sistemas podem ser aplicadas, dentre as
quais podem ser citadas técnicas clássicas, como projeto por avanço ou atraso de fase
34
(OGATA, 2003; KIM et al., 1994). Na teoria de controle clássico, o sinal de controle
também pode ser calculado de outras formas, dentre as quais podem ser destacadas:
a) Cálculo através do posicionamento de pólos (MUNSHI et al., 1989);
b) Cálculo através da retroalimentação de estados (PARK et al., 1994);
c) Cálculo através da ação proporcional, integral e derivativa (PID) (DORF,
2001; AKYUZ et al., 2011)
Controladores ditos clássicos possuem seus parâmetros fixos, sintonizados para
um ponto de operação ou região específica de um processo. Por não modificar
automaticamente seus parâmetros, a etapa de modelagem do processo torna-se de
extrema importância para garantir uma boa sintonia do controlador.
Atualmente os controladores de estrutura simplificada e padronizada, como os
controladores PID, representam a maioria dos controladores empregados em processos
industriais em todo o mundo (BAZANELLA, 2005). De acordo com a necessidade do
projeto, uma ou mais ações do controlador podem ser utilizadas. A ação proporcional é
geralmente empregada e as quatro configurações utilizadas são, por consequência: P,
PD, PI, PID, sendo possível utilizar ações separadas em uma malha ou em diferentes
malhas de um mesmo sistema (TAKEGAKI et al., 1981; ARIMOTO et al., 1984; WEN
et al., 1990; KELLY, 1993).
Para um controlador do tipo PID, o sinal de controle é calculado com base no
sinal de erro. Na Figura 2.12 é representada em diagrama de blocos a estrutura de um
controlador PID.
Figura 2.12 – Controlador PID
2.4.2
Controle Adaptativo
Um controlador adaptativo é um controlador com parâmetros ajustáveis e um
mecanismo de ajuste destes parâmetros (ASTROM e WITTENMARK, 1995). O projeto
35
de um controlador depende, na maioria das vezes, da planta em uma determinada
condição de operação. Porém, a exatidão na modelagem de uma planta ou processo
apresenta um grau elevado de dificuldade. Além disso, alguns parâmetros da planta
podem ser desconhecidos ou conhecidos com incertezas. Dessa forma, surgiu a
necessidade de técnicas de estimação desses parâmetros com o intuito de entender e
prever melhor o comportamento do processo.
O termo controlador adaptativo foi utilizado pela primeira vez na década de
1940 (ISERMANN, 1992). A motivação da adaptação de um sistema de controle surgiu
no início da década de 1950 a partir do desenvolvimento de um piloto automático de
alto desempenho. A justificativa de um controle adaptativo aplicado a uma aeronave se
deveu ao fato de o mesmo operar em uma grande faixa de velocidade e alturas e ter uma
dinâmica não-linear e conceitualmente variante no tempo (IOANNOU et al., 1996).
Uma estrutura de controle adaptativo contém, em geral, uma malha de
retroalimentação, um estimador de parâmetros e um controlador com ganhos ajustáveis
(IOANNOU et al., 1996), como apresentado na Figura 2.13.
Figura 2.13 – Estrutura de um controlador adaptativo
Ainda segundo IOANNOU (1996), a estimação dos parâmetros pode ser feita
de duas formas:
a) Off-line: após um determinado intervalo de tempo, os parâmetros são
estimados através do processamento de dados armazenados previamente;
b) Online: periodicamente os parâmetros são atualizados com base em
estimativas anteriores e novos dados coletados, sendo a estimação executada
simultaneamente com o sistema.
36
Assim sendo, o controle adaptativo consiste na aplicação de uma técnica de
estimação para obtenção dos parâmetros do modelo do processo a ser controlado e de
seu meio a partir da medição de sinais de entrada e saída da planta e utilizar esse
modelo no projeto de um controlador (ASTROM et al., 1985).
Uma estrutura de controle adaptativo pode ser classificada em direta e indireta.
No controle adaptativo direto, o modelo da planta é parametrizado em termos dos
parâmetros do controlador e os parâmetros do controlador são estimados diretamente,
sem cálculos intermediários envolvendo estimativas dos parâmetros da planta
(IOANNOU et al., 1996). Na Figura 2.14 encontra-se ilustrada a estrutura de controle
adaptativo direto.
Figura 2.14 – Controle adaptativo direto
No controle adaptativo indireto, os parâmetros da planta são estimados on-line
e utilizados para calcular os parâmetros do controlador. Em ambas as estruturas, os
cálculos dos parâmetros do controlador seguem leis de adaptação. A estrutura do
controle adaptativo indireto é ilustrada na Figura 2.15
37
Figura 2.15 – Controle adaptativo indireto
As principais técnicas de controle adaptativo, segundo IOANNOU (1996), são:
a) PID adaptativo (KUC e HAN, 1998; TANG et al., 2010);
b) Controle por Modelo de Referência (MRAC – Model Reference Adaptive
Control) (TSAI e TOMIZUKA, 1989);
c) Controle Adaptativo por Posicionamento de Pólos (APPC – Adaptive Pole
Placement Control) (TAKAGI e UCHIYAMA, 2005; ESAKI et al., 2000);
d) Controlador com Ganhos Ajustáveis (Gain Scheduling) (LIU et al., 2009).
CARVALHO (2009) apresentou um controle adaptativo aplicado em um robô
manipulador de dois graus de liberdade planar. SOUZA (2010) desenvolveu um
controle adaptativo aplicado em dois elos de um robô manipulador eletropneumático
cartesiano de três graus de liberdade.
2.4.3
Lógica Fuzzy
A teoria de sistemas “fuzzy’ se originou da observação de que quando a
complexidade de um sistema aumenta, nossa habilidade para concluir fatos e tomar
decisões precisas e significativas tende a diminuir até um limite, a partir do qual
exatidão e relevância passam a ser características quase excludentes (ZADEH, 1973).
A lógica fuzzy foi desenvoldida por Lofti A. Zadeh durante a década de 1960
(CAMARGOS, 2002). A utilização da lógica fuzzy em controle e automação de
38
processos teve início com MAMDANI (1974), na Inglaterra, em que o mesmo
desenvolveu uma aplicação para um gerador de vapor experimental, após inúmeras
tentativas frustradas com diversos outros tipos de controladores (REYERO e
NÍCOLAS, 1995).
O controle fuzzy tenta imitar o operador humano baseando-se em uma
representação descritiva e experimental do processo (SHAW e SIMÕES, 2004;
NOVÁK, 1989). Desta forma, ele tenta produzir ações de controle desejadas tomando
como bases modelos da operação do sistema, ao invés de utilizar modelos do próprio
processo como em outras técnicas clássicas de controle (CAMPOS e SAITO, 2004). A
lógica fuzzy provê um método de traduzir expressões verbais, vagas, imprecisas e
qualitativas, comuns na comunicação humana, em uma forma compreensível para os
computadores. Se a informação imprecisa ou mesmo faltante puder ser expressa por um
conjunto de regras linguísticas da forma “se/então”, é possível implementar um
algoritmo computacional que, utilizando um método de inferência baseado no raciocínio
aproximado, forneça saída para o sistema modelado (REZENDE et al., 2005; TAKAGI
e SUGENO, 1985; SUGENO e KANG, 1988; MAMDANI, 1974).
O controle fuzzy é aplicado no controle de vários sistemas, como sistemas
fotovoltaicos (SIMÕES e FRANCESCHETTI, 1999; WEIS e XIAO, 2003); na
agricultura (SHEN et al., 2007; BURGOS-ARTIZZU et al., 2007); na fisioterapia
(KIRYU et al., 2001); na área biomédica (HELD e ROY, 2000; SKELLY e CHIZECK,
2001); na robótica (WAI et al., 2003; YANG et al., 2005; BAI e WANG, 2010;
BIGLARBEGIAN et al., 2010; HUANG et al, 2010).
Em 2001, SHHEIBIA (2001) apresentou um sistema inteligente desenvolvido
para a manipulação de um braço robótico utilizando lógica fuzzy. KULITZ (2004)
propôs uma nova estratégia para a obtenção de controladores fuzzy para sistemas não
lineares, em especial para robôs e veículos multi-articulados. RUFINO (2008)
desenvolveu o protótipo de um robô móvel autônomo com um sistema de controle
fuzzy. JÚLIO (2010) apresentou um projeto de controladores fuzzy para uma mesa de
coordenadas X-Y acionada por motores de indução trifásicos.
2.4.4
Redes Neurais Artificiais
As Redes Neurais Artificiais (RNA’s), diferentemente de computadores
digitais convencionais executam suas operações utilizando simultaneamente um grande
39
número de “processadores” (neurônios) operando de maneira paralela. A representação
do conhecimento é distribuída pelas conexões e o aprendizado é feito alterando-se
valores associados com as conexões (PAGLIOSA, 2003).
As RNA’s são caracterizadas por sistemas que, em algum nível, relembram a
estrutura das redes neurais do cérebro humano (TAFNER et al., 1996), imitando as
habilidades computacionais do sistema nervoso biológico utilizando para isso um
grande número de neurônios artificiais interconectados.
Um neurônio artificial é a unidade fundamental de processamento de
informação de uma rede neural (HAYKIN, 2001). O primeiro modelo artificial de um
neurônio biológico foi proposto por McCULLOCH e PITTS (1943) (Figura 2.16). Os
autores constataram alguns fatos básicos que tornaram possível a modelagem
matemática do neurônio (BRAGA et al., 2000; AZEVEDO, 1999; AZEVEDO et al.,
2000; TAFNER et al., 1996), dentre eles o fato dos neurônios se comportarem como
“somadores algébricos” e possuírem uma propriedade de “limiar”, ou seja, quando as
entradas integradas excederem o limiar, os neurônios disparam um sinal através do
axônio . Assim sendo, o modelo de McCULLOCH e PITTS realiza a soma algébrica
ponderada dos sinais de entrada de um neurônio que, por sua vez, servirá como entrada
para a função de ativação, determinando a saída da rede (HAYKIN, 2001).
Figura 2.16 – Modelo do neurônio de McCulloch e Pitts
Podem-se identificar três elementos básicos no modelo exposto na Figura 2.16
(IYODA, 2000):
– Um conjunto de sinapses ou conexões de entrada, sendo cada entrada
ponderada por um peso sináptico;
– Uma junção aditiva, responsável pela combinação aditiva dos sinais de
entrada, ponderados pelos respectivos pesos das sinapses do neurônio.
40
– Uma função de ativação, geralmente não-linear, representando um efeito de
saturação na ativação de saída do neurônio. Tipicamente a excursão da ativação do
neurônio é confinada ao intervalo (0,1) ou (-1,1).
Uma RNA é classificada pelo algoritmo de aprendizagem utilizado, pelo tipo
ou função do neurônio presente e por sua arquitetura (HAYKIN, 2001; REZENDE,
2005).
O algoritmo de aprendizagem é um conjunto de procedimentos bem definidos
para adaptar os parâmetros de uma RNA de maneira a se obter o desempenho desejado.
A etapa de aprendizagem é um processo iterativo de ajuste de parâmetros da rede, os
pesos das conexões entre as unidade de processamento que guardam ao final do
processo o conhecimento que rede adquiriu do ambiente em que está operando
(PAGLIOSA, 2003).
Os métodos de aprendizagem de redes neurais podem ser divididos em dois
grupos: aprendizado supervisionado e não supervisionado (TAFNER et al., 1996;
BRAGA et al., 2000).
O método de aprendizagem supervisionado é caracterizado pela presença de
um “professor” externo, responsável por fornecer informações da entrada e da saída
desejadas para a rede neural. O objetivo desse método é fazer os ajustes dos parâmetros
da rede, de tal maneira que se minimize o erro existente. Como exemplos de algoritmos
para aprendizado supervisionado são a regra delta (MÁSSON e WANG, 1990;
WIDROW, 1962) e sua generalização para redes de múltiplas camadas, o algoritmo
backpropagation (BEALE e JACKSON, 1990; WERBOS, 1974; PARKER, 1982;
RUMELHART, 1986).
No método de aprendizagem não supervisionado não existe um “professor”
para supervisionar o processo de aprendizagem, não existindo nenhuma saída desejada
explícita ou avaliação externa da saída produzida para cada dado de entrada. O ajuste de
pesos sinápticos nesse tipo de algoritmo de aprendizagem deve recorrer apenas aos
dados de entrada, tomados como amostras independentes de uma distribuição de
probabilidade desconhecida. Como métodos de aprendizagem não supervisionada
podem ser citadas a aprendizagem de Hebbian (HEBB, 1949), o aprendizado
competitivo (BARRETO, 2001) e o aprendizado winner-take-all (SUM et al., 1999).
A função de ativação determina o comportamento individual interno de cada
neurônio. Se todos os neurônios têm o mesmo comportamento, ou seja, tem a mesma
função de ativação, a rede é dita homogênea, caso contrário a rede é chamada
41
heterogênea (NÓBREGA SOBRINHO, 2011). Definindo-se o campo induzido Vin para
cada neurônio como sendo o produto das entradas pelo seu respectivo peso, tal como é
mostrado na Equação (2.1) e o sinal funcional Y de acordo com a Equação (2.2),
podem-se citar como funções de ativação f(.): função sigmoide, ilustrada na Figura
2.17(a); função tangente hiperbólica, mostrada na Figura 2.17(b); função degrau, Figura
2.17(c); função sinal, ilustrada na Figura 2.17(d).
Vin = Win x In
(2.1)
Y = f (Vin)
(2.2)
(a)
(b)
(c)
(d)
Figura 2.17 – Funções de ativação
As conexões entre as camadas de uma rede neural geram diferentes estruturas.
Fazem parte da definição de arquitetura os seguintes parâmetros (PAGLIOSA, 2003):
a) Número de camadas da rede: as redes neurais podem apresentar estruturas
com uma única camada, ou seja, só existe um nó entre qualquer entrada e qualquer saída
da rede. Nas redes de múltiplas camadas existe mais de um neurônio entre alguma
42
entrada e alguma saída da rede. A forma mais simples de redes neurais de camada única
consiste de um único neurônio na camada de saída, sendo conhecido como perceptron.
A Figura 2.16 é um exemplo de perceptron com três neurônios na camada de entrada e
um neurônio na camada de saída. Este tipo de estrutura apresenta limitações importantes
e podem ser aplicadas com êxito apenas na resolução de uma classe restrita de
problemas (apenas problemas linearmente separáveis) (MINSKY e PAPERT, 1988).
Algumas das limitações apresentadas pelo perceptron podem ser superadas com a
aplicação de redes neurais de múltiplas camadas, com no mínimo uma camada oculta
(camada que não é de entrada, nem de saída), ou perceptron multicamadas (MLP –
multilayer perceptron) (Figura 2.18). Uma rede neural de múltiplas camadas pode
implementar qualquer função (KOVACS, 1996; YONEYAMA e JUNIOR, 2001).
Figura 2.18 – Rede neural de múltiplas camadas
b) Conexões dos neurônios: uma rede neural pode ser classificada como
feedfoward, sem retroalimentação, ou rede com ciclos, possuindo elos de realimentação
(AZEVEDO et al., 2000). Em redes feedfoward ou acíclicas, a saída de um neurônio na
i-ésima camada da rede não pode ser utilizada como entrada de neurônios em camadas
com índice menor ou igual a i (Figura 2.18). Já em redes cíclicas ou feedback, as saídas
de algum neurônio da i-ésima camada da rede podem ser utilizadas como entradas de
neurônios em camadas de índice menor ou igual a i (Figura 2.19). O sinal pode ser
aplicado para excitar a camada inteira, como também para excitar apenas um neurônio
em particular.
43
Figura 2.19 – Rede neural cíclica
ARCOS CAMARGO (2002) apresentou um controle da trajetória de um robô
manipulador tipo SCARA dentro de um volume de trabalho que é definido pelas
equações cinemáticas. A determinação da trajetória dentro do volume de trabalho é
obtida com o uso de redes neurais artificiais do tipo perceptron de múltiplas camadas
que simulam os movimentos do manipulador entre dois pontos quaisquer dentro deste
volume.
Em ZHAO-HUI et al. (2007) é proposto um método de controle de
rastreamento dinâmico da trajetória de manipuladores industriais, utilizando um
controlador PD e uma rede neural feedfoward de múltiplas camadas.
Em STOICA et al. (2010) é apresentado um controle por redes neurais para
robôs industriais cujo método de treinamento leva em conta informações de
aprendizados passados, bem como informações de instantes atuais.
ZHANG et al. (2001) desenvolveu uma abordagem com redes neurais de
múltiplas camadas em conjunto com um controlador PID para melhoria do desempenho
de robôs industriais no rastreamento de trajetórias. Nesse trabalho foi constatada uma
melhora na dinâmica de atraso e também a diminuição da interferência do atrito entre as
partes, melhorando também a qualidade do produto e a eficiência do processo.
CHO et al. (2006) propôs esquemas de modelagem e estratégias de controle
para veículos aéreos não-tripulados. Já em RICHTER (2009) foi projetada uma
arquitetura
neural
visando
sensoriamento
virtual
de
oxigênio
em
veículos
bicombustíveis. Em VICENTE et al. (2007) foi proposto um controlador neural de
marcha lenta para motores de combustão interna.
44
2.4.5
Algoritmos Genéticos
A computação evolutiva engloba algoritmos inspirados na teoria da evolução
das espécies de Darwin (DARWIN, 1859). Historicamente, três algoritmos para
computação evolutiva foram desenvolvidos de maneira independente (BACK, 1996):
– Algoritmos genéticos (HOLLAND, 1962; BREMERMANN, 1962;
FRASER 1957);
– Programação evolutiva (FOGEL, 1962);
– Estratégias evolutivas (RECHENBERG, 1965; SCHWEFEL, 1965).
Algoritmos genéticos trabalham com uma população na qual cada indivíduo é
um candidato em potencial à solução de um dado problema. Trata-se de um algoritmo
de busca baseado em mecanismos de seleção natural e genética que empregam uma
estratégia de busca paralela e estruturada que, embora aleatória, é direcionada à busca
de pontos de alta “aptidão” (REZENDE et al., 2005). Apesar de aleatórios, os AG’s não
são mecanismos de busca randômica por todo um espaço de soluções, uma vez que
exploram informações históricas para definir novos pontos de busca em que há
expectativa de um desempenho mais adaptado do que as soluções anteriores.
Comparadas com outras técnicas de buscas convencionais, os AG’s diferem nos
seguintes pontos (NAGASHIMA, 2006):
– A busca da melhor solução para o problema é feita sobre uma população de
pontos e não sobre um único ponto, reduzindo sensivelmente o risco de a solução recair
sobre um máximo ou mínimo local;
– Os algoritmos genéticos realizam uma busca cega. A única exigência é o
conhecimento do valor da função de aptidão (fitness) de cada indivíduo. Não há
necessidade de qualquer outra informação ou heurística dependente do problema.
– Os AG’s usam operadores estocásticos e não regras determinísticas para
guiar uma busca altamente exploratória e estruturada, em que informações acumuladas
nas iterações (gerações) anteriores são usadas para direcionar essa busca.
Segundo GOLDBERG (1989), apesar da simplicidade, os resultados obtidos
com a aplicação desse método permite concluir que os AG’s constituem um método de
busca robusto, eficaz e eficiente para solucionar uma grande variedade de problemas.
PACHECO (2005) afirma que os algoritmos genéticos são particularmente indicados
para solucionar problemas de difícil modelagem matemática, problemas com muitas
45
condições
ou
restrições
ou
condições
que
não
podem
ser
representadas
matematicamente ou ainda para tratar problemas complexos de otimização.
O funcionamento básico de um algoritmo genético é apresentado na Figura
2.20 (BITTENCOUT, 2007; GOLDBERG, 1989). O passo inicial é a geração de uma
população aleatória. Em seguida a aptidão dos indivíduos da população será avaliada e
os melhores serão selecionados para se reproduzirem (crossover) e assim gerarem
descendentes. Os indivíduos pertencentes a essa nova população são passíveis de sofrer
mutação, com o objetivo de diversificar a população. Os indivíduos que compõem a
nova população, depois da mutação, são avaliados e o processo continua até que uma
solução ótima seja encontrada entre os indivíduos da população. Cada iteração do
processo é denominada geração.
Figura 2.20 – Funcionamento básico do AG (BITTENCOUT, 2007)
Um algoritmo genético é composto geralmente por (HAUPTY e HAUPTY,
2004; WHITLEY, 1994):
a) População: a população inicial deve ser criada após a definição da
quantidade de indivíduos que irão compor a população. O método mais comum aplicado
na criação da população é a inicialização aleatória dos indivíduos. Pode-se também
utilizar conhecimento inicial a respeito do problema quando o universo de busca é
conhecido (BAYER e WANG; 1991).
A população é composta por indivíduos, também chamados de cromossomos,
sendo cada um desses indivíduos um candidato à solução de um dado problema. A
representação de um cromossomo pode ser feita por meio de números reais, números
inteiros, caracteres ou por representação binária (Tabela 2.1). A representação mais
utilizada é a binária, na qual a estrutura do cromossomo é um vetor de bits de tamanho
46
fixo. Os indivíduos de uma solução são convertidos em binário e concatenados para
formar tal vetor. Por exemplo, se a solução para um dado problema for composta de 2
variáveis inteiras, sendo que seus valores variem de 0 a 15, pode-se representar uma
solução por meio de um vetor de 8 bits, em que cada grupo de 4 bits corresponde ao
valor de uma variável. Se a solução desse problema fosse (10,7), sua representação
binária seria [10100111]. Em um cromossomo binário cada bit é um gene e os alelos
são os valores assumidos por cada gene
b) Avaliação: nesta etapa é quantificado o grau de aptidão do cromossomo
enquanto solução de um problema, determinando o quanto um indivíduo está próximo
da solução ótima deste problema. A função ou problema recebe como entrada valores de
acordo om os genes do cromossomo e devolve como resposta o grau de adaptação
(fitness) do indivíduo. Assim sendo, se o problema a ser resolvido for de maximização
de uma função, o indivíduo de melhor fitness será aquele que apresentar o maior valor
da função quando aplicado à mesma. A aptidão ou fitness de um indivíduo é uma
característica importante para o processo de seleção dos cromossomos que serão
submetidos aos operadores de cruzamento e mutação (LACERDA e CARVALHO,
1999).
Tabela 2.1 - Exemplos de representação do cromossomo
Representação
Números Reais
Números Inteiros
Exemplo
Cromossomo = [7,7; -1,5; 3,9]
Cromossomo = [15; 20; -1]
Caracteres
Cromossomo = [G O D]
Números Binários
Cromossomo = [101010]
c) Seleção: A seleção é aplicada na população com o objetivo de gerar uma
população intermediária que irá ser submetida ao cruzamento e/ou mutação para assim
criar a próxima população. Existem várias técnicas de seleção, como o método utilizado
no algoritmo genético clássico que é chamado de método da roleta (roulette wheel)
(HOLLAND, 1975; MICHALEWICZ, 1996). No método da roleta é atribuída a cada
indivíduo uma probabilidade de passar para a população seguinte. Tal probabilidade é
proporcional ao seu fitness em relação à somatória da adaptação de todos os indivíduos,
sendo maior a probabilidade dos indivíduos mais adaptados serem sorteados. Na Figura
2.21 é ilustrada a criação de uma roleta a partir dos valores de aptidão dos indivíduos de
47
uma população. Para a seleção dos indivíduos a roleta é girada um determinado número
de vezes definido pelo número de indivíduos na população. O indivíduo apontado pela
seta é selecionado e inserido na população intermediária.
Figura 2.21 – Método de seleção por roleta
Como alternativa ao roullete wheel, pode-se escolher como solução o melhor
indivíduo encontrado em todas as gerações do algoritmo (IYODA, 2000). Outra opção é
simplesmente manter o melhor indivíduo da geração atual na geração seguinte. Tal
estratégia é denominada seleção elitista (FOGEL, 1994; MICHALEWICZ, 1996).
d) Cruzamento: o cruzamento (crossover) é o operador genético cuja função é
gerar novos indivíduos por meio da recombinação de características dos pais
selecionados para essa operação (BACK et al., 1997). Ele é considerado o operador
genético predominante (REZENDE et al., 2005) e respeita uma probabilidade de
aplicação definida previamente, denominada probabilidade de cruzamento. Segundo
BAYER e WANG (1991) a probabilidade de cruzamento pode variar entre 50% e
100%. Caso o crossover não seja aplicado, os cromossomos filhos serão idênticos aos
pais (LACERDA e CARVALHO, 1999). As maneiras mais utilizadas para o operador
de cruzamento são: crossover de um ponto, crossover de múltiplos pontos e crossover
uniforme.
O crossover de um ponto gera um ponto de maneira aleatória e “corta” os
cromossomos pais na altura desse ponto. Cada pai troca a segunda parte do seu
cromossomo com o outro, dando origem a dois descendentes que possuem caraterísticas
pertencentes aos dois pais, mas que diferem dos mesmos (COSTA e SIMÕES, 2004),
como ilustrado na Figura 2.22.
48
Figura 2.22 – Exemplo de crossover de um ponto
O crossover de múltiplos pontos é uma generalização do crossover de um
ponto, em que vários pontos de cruzamento são utilizados. A Figura 2.23 contém uma
ilustração desse operador para o caso de dois pontos.
Figura 2.23 – Exemplo de crossover de dois pontos
Por fim, o crossover uniforme não utiliza pontos de cruzamento, como nos
métodos anteriores, mas sim uma máscara de bits do mesmo tamanho dos cromossomos
pais, gerada de maneira aleatória. Cada posição da máscara representa um gene do
cromossomo original que determina qual dos pais fornecerá ao filho seu gene (COSTA
e SIMÕES, 2004).
49
Figura 2.24 – Exemplo de crossover uniforme
No exemplo descrito na Figura 2.24, o procedimento para a geração do
primeiro filho segue a seguinte regra: o bit 0 da máscara indica a utilização do gene
respectivo do primeiro pai, enquanto o bit 1 indica a utilização do gene do segundo pai.
A geração do segundo filho segue o procedimento inverso, em que o bit 0 indica o gene
do segundo pai e o bit 1 indica o gene do primeiro pai.
e) Mutação: faz com que indivíduos da nova geração passem por pequenas
alterações, permitindo ao AG explorar locais do universo de busca menos prováveis de
serem alcançados. A mutação repõe ou acrescenta um material genético inexistente na
população atual, seja por ter sido perdido ou nunca ter existido anteriormente. Este
operador genético ocorre com menos frequência do que o crossover, uma vez que sua
probabilidade varia entre 0,1% e 5% (BACK et al., 1997). Uma taxa de mutação baixa
impede que indivíduos de boa aptidão para solução do problema sejam destruídos e
também garante a diversidade da população. O processo de mutação inicia-se com a
seleção de um ponto aleatório de um indivíduo e, em seguida, é aplicada uma taxa de
probabilidade de troca deste ponto (bit) por outro bit (Figura 2.25), caso a representação
do cromossomo seja binária (KOZA, 1995).
Figura 2.25 – Exemplo de Mutação
50
e) Critérios de parada: são aplicados com a finalidade de evitar esforço
computacional desnecessário e/ou elevado. Segundo LACERDA e CARVALHO (1999)
os critérios de parada mais comuns levam em conta o número de gerações, o tempo de
processamento, o valor de aptidão do melhor indivíduo ou a convergência a um ponto
ótimo.
Estipular um número de máximo evita um custo computacional elevado, pois o
AG é interrompido ainda que o ponto ótimo não tenha sido alcançado. Já o tempo de
processamento de um algoritmo em algumas ocasiões em que se precisa da solução em
um curto espaço de tempo precisa ser monitorado. Em situações assim, tal característica
pode ser aplicada como critério de parada. O processo também pode ser interrompido
quando a aptidão de um indivíduo atingir o valor ótimo, desde que o valor ótimo da
função de aptidão seja conhecido. Finalmente, se após uma série de gerações seguidas
se observar que o valor de aptidão médio da população ou a aptidão dos melhores
indivíduos não sofre alteração ou varia dentro de um intervalo de valores muito
próximos, pode-se concluir que um valor ótimo ou próximo do ótimo foi obtido como
solução do problema. Sendo assim, o AG é interrompido com base no critério da
convergência (RIBEIRO FILHO et al., 1994).
QINGCHUM et al. (1998) apresentou a aplicação de algoritmos genéticos para
o controle dinâmico e o planejamento de trajetória de um robô móvel. Foi proposta uma
nova estratégia genética, GASC (algoritmo genético com código simétrico).
VARGAS (2005) desenvolveu uma proposta de relé digital de frequência
baseado em algoritmos genéticos.
DA-LEI e YAN-LI (2010) utilizaram algoritmos genéticos para o controle e
planejamento de trajetória de um robô de futebol. Nesse trabalho foi constatado uma
melhora significativa nas chances de vitória em uma partida de futebol de robôs, bem
como a redução da perda de robôs em competições quando o algoritmo desenvolvido foi
aplicado em robôs reais.
YUN et al. (2010) apresentam uma visão geral da aplicação de algoritmos
genéticos utilizados para detecção de obstáculos e planejamento de trajetórias de robôs
móveis, utilizados para coleta remota de dados em ambientes remotos ou
potencialmente hostis.
51
2.4.6
Redes Neurais Evolutivas
Métodos baseados em computação evolutiva vêm sendo propostos como uma
alternativa robusta e eficiente para o projeto de redes neurais artificiais (IYODA, 2000).
Com relação aos algoritmos genéticos, estes podem ser utilizados para otimizar a rede
neural, seja no treinamento (ajuste de pesos), otimização da topologia da rede (número
de neurônios na camada oculta), geração tanto da topologia como dos pesos das
conexões.
Grande parte dos trabalhos nessa área aborda a aplicação de algoritmos
genéticos no treinamento da rede neural (JASON e FRENZEL, 1993; DIAS, 1999;
TANOMARU, 1995).
CHEN (1998) propôs a utilização de algoritmo genético com codificação
binária para o treinamento da rede e também para o ajuste de parâmetros da função de
ativação (ganho e inclinação de uma sigmóide).
Em WHITHLEY et al. (1990) é proposto um método evolutivo para definição
da conectividade de uma rede neural, ou seja, o número de neurônios na camada oculta
foi determinado previamente e o AG foi aplicado para determinar as conexões entre
esses neurônios.
MORIARTY e MIIKKULAINEN (1998) apresentam um algoritmo coevolutivo para determinar os pesos e a arquiterura da rede. O método proposto na
pesquisa foi testado com sucesso em um problema de controle robótico.
52
CAPÍTULO III
DESCRIÇÃO E INSTRUMENTAÇÃO DO MANIPULADOR
ROBÓTICO
3.1 INTRODUÇÃO
Neste capitulo é apresentada a descrição e a instrumentação do sistema do
manipulador robótico desenvolvido. Na secção 3.2 é detalhada a construção mecânica
do robô de dois graus de liberdade apresentando de maneira clara o posicionamento dos
elementos mecânicos responsáveis pelo acionamento. Na secção 3.2.2 são abordados o
sistema de acionamento e o sistema de aquisição de dados. Por fim, é apresentado na
secção 3.2.3 o sistema de medição..
3.2 MANIPULADOR ROBÓTICO COM DOIS GRAUS DE LIBERDADE
Como pode ser observado na Figura 3.1, o manipulador robótico utilizado na
pesquisa é composto por um braço mecânico e uma base, sendo estes responsáveis,
respectivamente, pelos movimentos de translação e rotação.
O braço do manipulador foi confeccionado em perfil de alumínio quadrado,
com as seguintes características: 50,8 mm de largura e 586 mm de comprimento. Como
contrapeso, foi acoplada uma massa de chumbo de 3,185 Kg na extremidade “A”. Na
extremidade “B” do braço mecânico foi inserido um complemento, cujo perfil é idêntico
ao perfil do braço mecânico. A ligação entre tais elementos se dá por meio de uma
articulação, sendo esta composta por um eixo e dois mancais de rolamentos. Um
mecanismo foi desenvolvido para que este complemento permaneça sempre na posição
53
horizontal, independentemente da posição do braço. Tal configuração é ilustrada na
Figura 3.1.
Figura 3.1 – Ilustração do manipulador robótico utilizado na pesquisa
Figura 3.2 – Representação do braço mecânico desenvolvido
O acionamento do braço mecânico é realizado por um motor de indução
trifásico de 220/380 V, 60 Hz, 0,33 cv e 1720 RPM. Como a velocidade de rotação do
motor selecionado para o projeto é elevada, tornou-se necessária a utilização de um
redutor de velocidade acoplado ao eixo do motor. O sistema redutor é composto por um
parafuso sem fim com uma entrada, que por sua vez é acoplado a uma engrenagem
(coroa) com 66 dentes. Esta configuração tornou possível a redução da rotação de 1720
rpm para 26,06 rpm, como pode ser visto na Equação (3.1):
rpm saída 
rpm motor  N .E .S .
z
(3.1)
Em que: rpm saída  velocidade de rotação da saída do redutor;
54
RPM motor  velocidade de rotação do motor;
N .E.S .  Número de entradas do parafuso sem fim;
z  Número de dentes da engrenagem (Coroa).
Aplicando-se as relações apresentadas anteriormente na Equação (3.1), tem-se:
rpm saída 
1720  1.
 26 ,06 rpm
66
(3.2)
O resultado da Equação (3.2) implica que quando o inversor de frequência
estiver emitindo uma frequência de 60 Hz ao motor, este estará girando a uma rotação
de 26,06 rpm.
Além de objetivar a redução da velocidade de rotação, essa configuração
também teve a finalidade de amplificar o torque fornecido à carga. Na Figura (3.3)
encontra-se ilustrada a disposição dos elementos do braço inseridos no projeto.
Figura 3.3 – Elementos de acionamento do braço mecânico
Para o acionamento da base do manipulador, também construída de alumínio,
utilizou-se um motor trifásico com as mesmas características do motor utilizado para o
acionamento do braço. O mesmo sistema de redução de velocidade e ampliação do
torque aplicado no braço foi utilizado na base. Na Figura (3.4) encontra-se ilustrada a
configuração dos elementos da base.
O sentido de giro e a velocidade de rotação de ambos os motores são
controlados por meio de sinais de controle enviados aos inversores de frequência. Os
deslocamentos totais do braço e da base são, respectivamente, 100° e 120°. Com a
55
finalidade de proteger o sistema foram dispostos sensores fim de curso na estrutura
mecânica do manipulador robótico.
Figura 3.4 – Elementos de acionamento da base
A ilustração do projeto e sua imagem real estão representadas nas Figuras (3.5)
e (3.6), respectivamente. Uma estrutura de alumínio foi desenvolvida para proteger os
inversores de frequência e todos os outros elementos necessários ao comando da
máquina. Na Figura (3.7) pode-se observar uma imagem do projeto completo.
Figura 3.5 – Sistema montado
56
Figura 3.6 – Manipulador robótico utilizado na pesquisa
Figura 3.7 – Manipulador robótico e sistema de comando
3.2.1
Sistema de Acionamento
Na Figura 3.8 encontra-se devidamente ilustrado um diagrama esquemático do
manipulador robótico e seus periféricos. Pode-se observar que este está dividido em
cinco partes, sendo elas: computador, placa de aquisição de dados, circuito de
condicionamento de sinal, motor de indução trifásico e inversor de frequência.
Os
controladores
foram
implementados
no
programa
computacional
LabView®, cuja interface de comunicação permite que seja inserido um sinal de
referência de posição angular a ser alcançada pelo sistema. Uma vez processada, tal
57
informação é convertida em um sinal de tensão proporcional que, por sua vez, é enviado
aos inversores de frequência por meio da interface NI-DAQ.
Figura 3.8 – Diagrama esquemático do sistema
O processo de aquisição de dados para o controle do manipulador robótico foi
realizado por uma placa NI-DAQ USB 6008, fabricada pela National Instruments ®. Tal
placa é dotada de 10 canais analógicos (8 entradas e 2 saídas), 12 canais de
entrada/saída digitais, um conversor de 12 bits, taxa de amostragem de 10kS/s, faixa de
tensão de entrada de ± 10 V, faixa de tensão de saída de 0 a 5 Volts, corrente de saída de
5 mA e transferência de dados USB (Figura 3.9). No projeto foram utilizados os canais
analógicos de saída AO 0 e AO 1, para o controle da velocidade de rotação dos motores;
as entradas analógicas AI 1 e AI 4, para receber os sinais de tensão das leituras de
posição angular enviados pelos potenciômetros e, por fim, as saídas digitais PO 0 e PO
1 para indicar o sentido de rotação dos motores.
Para a detecção da posição angular do manipulador robótico foi utilizado um
sensor de posição angular (potenciômetro). No projeto foram utilizados dois
potenciômetros multivoltas, ambos possuindo uma variação angular correspondente a
10 voltas, fornecendo assim sinais de tensão proporcionais à posição do cursor. Os
potenciômetros foram acoplados em um sistema de engrenagens, de modo a fornecerem
informações do deslocamento angular do braço e da base.
58
Figura 3.9 – Interface de aquisição de dados (NI-DAQ USB 6008)
O referido sensor (Figura 3.10) possui uma resistência elétrica de 10 kΩ /± 5%
e é de fabricação TRIMMER ® e de especificação WXD3590. Possui três terminais (a, b
e c), de forma que “a” e “b” são conectados em 10 V e GND, respectivamente. O
terminal “c” corresponde à saída, que varia de acordo com a posição do cursor.
Figura 3.10 – Sensor angular (potenciômetro)
As Equações (3.3) e (3.4), obtidas a partir de dados coletados em ensaios
experimentais, representam uma função linear que possibilita a relação entre os valores
de tensão enviados pelos potenciômetros às entradas analógicas da NI (V) e os valores
de deslocamento angular do eixo dos motores (θ):
 base 
100  V  132
2,21
(3.3)
59
 braço 
80  V  126,4
1,83
(3.4)
Para verificar o deslocamento real da base e do braço e comparar com os dados
fornecidos pelo software de controle, foram inseridos na estrutura mecânica do
manipulador robótico dois transferidores, posicionados na base e no braço da máquina,
como visto nas Figuras (3.11) e (3.12).
Figura 3.11 – Transferidor da base
Figura 3.12 – Transferidor do braço
Tendo em vista que os níveis de tensão e corrente fornecidos pela interface de
aquisição de dados não se mostraram suficientes para o acionamento dos inversores de
frequência tornou-se necessário desenvolver de um circuito condicionador de sinal. A
comunicação analógica entre a interface de aquisição de dados e os inversores de
frequência foi feita de forma direta e a velocidade de rotação foi variada conforme o
60
nível de tensão na saída da placa, de tal forma que a variação de tensão de 0 a 5 Volts
correspondesse a uma variação de frequência de 0 a 60 Hz na saída do inversor.
Segundo BORDON (2004), os inversores de fequência são os equipamentos
mais indicados no controle da velocidade de rotação e do torque de motores de indução.
Os inversores fornecem a tensão e a frequência variáveis aos motores que acionam a
base e o braço do manipulador robótico controlando a relação entre frequência e tensão
por meio da modulação por largura de pulso (PWM).
Para partidas suaves e variação de velocidade nos motores de indução
trifásicos, responsáveis pelo movimento da máquina, foi usado nos inversores o controle
de velocidade tipo Volts/Hertz ou V/f, conhecido como controle escalar. Assim, ao
variar-se proporcionalmente a frequência e a amplitude da tensão de alimentação dos
motores, o fluxo e o torque permanecem constantes. Para evitar solavancos que
desgastam os componentes mecânicos do sistema, principalmente os conjuntos
redutores, foi programado um tempo de aceleração/desaceleração de 0,1 s em rampa.
Essa
parametrização
também
permitiu
um
melhor
controle,
evitando
um
posicionamento inadequado da base e do braço, bem como a minimização de sobresinais. Quanto a frequência, esta foi parametrizada em 0 Hz como frequência mínima e
40 Hz como frequência máxima, com o objetivo de obter um controle de posição
adequado para esse tipo de configuração de sistema.
A seleção dos motores de indução trifásicos levou em conta sua comparação
com motores de corrente contínua. Por meio de realização de pesquisas verificou-se que
motores CC apresentam custo de manutenção elevado, além de seus contatos serem
feitos por escovas, o que implica em manutenções periódicas para troca das mesmas.
Observou-se também que este tipo de motor mantém um torque melhor e mais eficiente
com motores menores, quando comparados com motores CA. Ou seja, para se produzir
um mesmo torque com um motor CA, necessita-se adquirir um motor mais robusto ou
de maior potência.
Contudo, os custos dos motores de indução trifásicos são menores do que os de
um motor CC. Além disso, o uso de motores CA em conjunto com o inversor de
frequência apresenta outra vantagem quando comparado com o motor CC, visto que
inversores de frequência atuais disponibilizam uma série de parâmetros de controle de
velocidade, exatidão e leveza no acionamento. Por fim, outro fator que resultou na
escolha do motor utilizado no sistema é que este não necessita de uma fonte de
alimentação externa para transformar a tensão advinda da concessionária.
61
Durante o funcionamento do motor, o rotor gira em virtude do torque
(conjugado) produzido por uma força magnética aplicada ao rotor. As formas de onda
aplicadas às bobinas do estator geram um campo magnético resultante girando em torno
do eixo central do motor. A variação do fluxo desse campo magnético induz uma tensão
no rotor, gerando correntes rotóricas. Estas, por sua vez, sob a ação do campo do
estator, originam a força magnética geradora do torque no rotor. Em consequência disto,
o rotor gira acompanhando o campo girante, o que diminui a corrente induzida no rotor.
O eixo do motor gira a uma frequência próxima da frequência da tensão aplicada
definindo-se como escorregamento a diferença existente entre a velocidade de rotação
do eixo do motor e a velocidade do campo girante do estator, dada pela Equação (3.5):
s
ns  nr
ns
(3.5)
Em que nr é a velocidade de rotação do rotor em rpm e ns é a velocidade de
rotação síncrona do campo magnético em rpm, podendo esta última ser expressa pela
Equação (3.6):
n( RPM ) 
120  f  ( 1  s )
p
(3.6)
Sendo f a frequência aplicada ao estator em Hz e p é o número de pólos da
máquina. De acordo com a Equação (3.6), é possível observar que se pode variar a
rotação do motor por meio da variação da frequência, uma vez que para variar o número
de pólos seria necessário a realização de alterações físicas no motor.
3.2.2
Sistema de Comando e Proteção
Para evitar danos ao sistema, por conta de choques mecânicos, foram inseridos
sensores mecânicos de fim de curso (FC_1/FC_2 e FC_3/FC_4) nas extremidades do
curso de cada uma das articulações (base e braço), impedindo que o manipulador
robótico saia de seu curso máximo.
Os sensores de fim de curso desabilitam a ligação entre o inversor e o motor
por meio de contatores (K1 e K2). Essa configuração de comando foi adotada para que
o funcionamento do inversor de frequência não seja interrompido, evitando possíveis
paradas frequentes e, consequentemente, o mau uso do dispositivo. Na Figura (3.13)
consta o diagrama de acionamento, comando e proteção do sistema.
62
Figura 3.13 – Diagrama de acionamento, comando e proteção do sistema
63
CAPÍTULO IV
IDENTIFICAÇÃO DO SISTEMA E PROJETO DO
CONTROLADOR NEURAL
4.1 INTRODUÇÃO
Neste capítulo é mostrada a implementação dos controladores neurais do
manipulador robótico estudado. Na seção 4.2.1 é mostrado o processo de identificação
do sistema. Na seção 4.2.2 é apresentada a escolha da arquitetura da rede neural por
meio da aplicação de um algoritmo genético. A seção 4.2.3 apresenta o modelamento do
controlador neural. Na seção 4.2.4 é mostrado o processo de implementação do
controlador neural. Já a seção 4.2.5 mostra a descrição do algoritmo de retropropagação
da rede neural e, por fim, na seção 4.2.6 a simulação do sistema e aquisição dos pesos
sinápticos iniciais é realizada.
4.2 IDENTIFICAÇÃO,
PROJETO
E
SIMULAÇÃO
DO
SISTEMA
DE
CONTROLE
O sistema foi simulado em ambiente Matlab
®
para a obtenção dos pesos
sinápticos iniciais das redes Neurais artificiais. Para tal necessitou-se obter funções de
transferência advindas da identificação experimental do sistema.
Na identificação de sistemas, conhecida também como modelagem empírica,
são usados dados coletados diretamente dos sistemas (AGUIRRE, 2004). Utilizando-se
técnicas de identificação de sistemas, não é necessário o conhecimento dos parâmetros
físicos do sistema, porque existem várias formas e técnicas para a obtenção de modelos
matemáticos, entre elas, a modelagem caixa branca, modelagem caixa preta e a
intermediária, denominada caixa cinza.
64
AGUIRRE (2004) classifica os métodos de identificação de sistemas em:
1. Identificação caixa preta – Neste caso, não se tem nenhuma informação
sobre o sistema. Apenas os dados de entrada e de saída do sistema são usados durante a
identificação. Neste tipo de identificação, não existe nenhuma relação óbvia entre a
estrutura e seus parâmetros com aspectos físicos do sistema sendo identificado.
2. Identificação caixa branca – Trata-se da modelagem do sistema, ou seja,
da obtenção de um modelo matemático descrito por equações que regem a física do
processo. Neste caso, os dados de entrada e de saída do sistema, quando disponíveis são
usados apenas para validar o modelo.
3. Identificação caixa cinza – É um procedimento de identificação que não se
enquadra nem no modelo caixa preta nem no modelo caixa branca. Neste caso, buscamse combinar as vantagens dos procedimentos de identificação de ambas as abordagens
anteriores.
Para a presente pesquisa optou-se por utilizar o modelo de identificação caixa
preta, visto as vantagens que o mesmo apresenta, bem como sua vasta aplicação em
processos de identificação de sistemas.
4.2.1
Identificação Experimental (caixa preta)
A identificação do sistema foi realizada a partir de dados de entrada e de saída
da planta, coletados de um ensaio em que foram aplicados sinais de excitação do tipo
onda quadrada com amplitude e larguras pré-determinadas. Para se obter as funções de
transferência do sistema utilizou-se o “Toolbox” de identificação do Matlab®,
aplicando-se o modelo BJ (Box Jenkins Model). O processo de identificação foi
realizado várias vezes, até a obtenção de um modelo que apresentasse respostas com
maior semelhança com os dados experimentais. Na Figura (4.1) estão ilustrados o sinal
de excitação da base do manipulador, bem como sua curva de resposta experimental.
O modelo escolhido foi validado fazendo uma comparação entre sua resposta
simulada e a resposta experimental do sistema, ambos submetidos ao mesmo sinal de
excitação, como visto na Figura (4.2)
65
Figura 4.1 – Sinal de excitação e curva de saída experimental da base
Figura 4.2 – Curvas de resposta experimental e simulada do sistema – Base
66
De maneira análoga, foi realizado o processo de identificação para o braço do
manipulador robótico. Na Figura (4.3) é mostrado o sinal de excitação utilizado no
ensaio, bem como o sinal de resposta experimental obtido.
Figura 4.3 – Sinal de excitação e curva de saída experimental do braço
Como realizado para a base, o modelo escolhido para o braço foi submetido ao
mesmo sinal de excitação aplicado anteriormente ao sistema real, para validação do
mesmo. A comparação entre a resposta simulada e a resposta experimental do braço é
mostrada na Figura (4.4).
As Equações (4.1) e (4.2) mostram os modelos na forma de função de
transferência no modo discreto do manipulador robótico para a base e o braço,
respectivamente. Ambas as equações serão utilizadas nos processos de simulação do
sistema.
Ybase ( z )
0.03018 z 2  0.06349 z  0.05471
 3
U base ( z ) z  1.321z 2  0.03939 z  0.2818
Ybraço ( z )
U braço ( z )

0.01147 z 2  0.020891z  0.01141
z 4  2.697 z 3  2.426 z 2  0.729 z
(4.1)
(4.2)
67
Figura 4.4 – Curvas de resposta experimental e simulada do sistema – Braço
4.2.2
Aplicação do Algoritmo Genético
Verifica-se a necessidade de um mecanismo de busca automático que ajude a
encontrar a quantidade ideal mínima de neurônios na camada oculta de uma RNA.
Treinar inúmeras redes até que estas atinjam um erro final pré-estabelecido para avaliar
qual a quantidade mínima de neurônios na camada oculta é um processo complicado e
sem muito sentido, visto que se uma rede foi treinada completamente, não há razão para
não utilizá-la.
A estrutura do algoritmo genético utilizada nessa pesquisa é apresentada na
Figura 4.5. O processo de busca pelo número de neurônios na camada oculta realizado
por um algoritmo genético avalia um conjunto de indivíduos candidatos à solução
(população) por meio do erro apresentado pela rede ao final de um dado período de
tempo.
Para esta pesquisa foi adotada a representação binária para codificar cada
indivíduo pertencente à população, visto que esta modelagem pode representar de
maneira fácil qualquer número inteiro, que serão por sua vez utilizados como neurônios
na camada oculta da RNA.
68
Figura 4.5 – Fluxograma do AG utilizado na pesquisa
A população inicial é gerada aleatoriamente, de forma que possua dez
indivíduos que podem assumir valores entre 1 e 15. Tal escolha foi feita com base na
análise da resposta de algumas simulações e experimentos, em que a configurações com
16 ou mais neurônios na camada oculta apresentaram sobressinal.
Em seguida, cada indivíduo da população inicial é testado como número de
neurônios na camada escondida da RNA e avaliado por meio da função de fitness,
apresentada na Equação (4.3), em que n é o comprimento do vetor de erro.
n
fitness 
 e (i )
i 1
(4.3)
n
A avaliação acontece após a coleta de dados de resposta de saída da rede
quando submetida ao mesmo sinal de excitação em um mesmo intervalo de tempo para
todos os indivíduos testados. Adotou-se uma padronização dos pesos iniciais da rede, os
quais iniciaram com valor zero. Tal consideração é feita com o objetivo de evitar um
69
processo de seleção tendencioso, optando por uma estrutura que iniciou com os valores
dos pesos próximo dos valores ideais.
Na seleção, os indivíduos são classificados com base no valor do fitness
apresentado por cada um, sendo que os indivíduos que apresentarem os menores valores
de fitness ficarão no topo da classificação. Os dois melhores indivíduos da população
inicial serão selecionados diretamente para a próxima geração (elitismo), para que não
se perca a melhor solução encontrada até o momento.
Em seguida, à população inicial são aplicados os operadores genéticos de
cruzamento e mutação que, segundo LACERDA E CARVALHO (1999), são os
principais mecanismos dos AG’s para explorar regiões desconhecida em um espaço de
busca em que se deseja encontrar uma solução para um problema.
BAYER e LUI WANG (1991) sugere o crossover de 1 ou 2 pontos com
probabilidade entre 50 e 100%. Para a estrutura adotada, utilizou-se uma probabilidade
de cruzamento de 90%. Uma vez realizado o cruzamento, é realizada a mutação,
alterando valores de determinados bits, mudando-os de 1 para 0, ou vice-versa. A
mutação assegura a diversidade da população, mas faz isto destruindo a informação
contida no cromossomo (BITTENCOUT, 2007). Em LACERDA e CARVALHO
(1999) é sugerido que a probabilidade de mutação esteja entre 0,1 e 5%. Para o sistema
estudado, adotou-se uma probabilidade de mutação de 5%.
A população resultante do cruzamento e mutação também é avaliada, de tal
modo que os dois piores indivíduos são descartados. Sendo assim, a nova população é
composta pelos oito melhores indivíduos da população em que foram aplicados os
operadores genéticos descritos anteriormente, juntamente com os dois indivíduos mais
aptos da geração inicial, selecionados pelo critério do elitismo.
Por fim, como critério de parada foi adotado o critério da convergência, ou
seja, se os valores das novas populações não sofrerem alteração ou variar dentro de um
intervalo de valores muito próximos, por várias gerações consecutivas, o processo de
busca é interrompido.
Foram realizadas simulações para a obtenção do número de neurônios na
camada oculta da RNA. A descrição completa dos testes realizados encontra-se no
Apêndice A. Nas Tabelas (4.1) e (4.2) são apresentados resumos das simulações
realizadas, em que se percebe que o indivíduo 15 figurou mais vezes como o melhor.
Observou-se nos testes que esse indivíduo também apresentou um valor médio da
função de fitness menor que todos os outros indivíduos testados.
70
Tabela 4.1 – Resultados de simulação do AG para o braço do manipulador robótico
Sinal de Entrada
Melhor
Porcentagem de vezes como
Fitness médio
Indivíduo
melhor indivíduo
Degrau
15
59.60%
2.05
Onda Quadrada
15
63.23%
2.85
Senoidal
15
52,68%
1.33
Tabela 4.2 – Resultados de simulação do AG para a base do manipulador robótico
Sinal de Entrada
Melhor
Porcentagem de vezes como
Indivíduo
melhor indivíduo
Degrau
15
81.10%
4.48
Onda Quadrada
15
77.20%
3.45
Senoidal
15
61.50%
1.91
4.2.3
Fitness médio
Modelo do Controlador Neural
Com a arquitetura da rede neural definida, o passo seguinte é determinar os
sinais de entrada da mesma. Na literatura, podem-se encontrar vários exemplos de
determinação dos sinais da camada de entrada de uma RNA.
MENEZES FILHO (2007) implementou uma Rede Neural Multicamada
trabalhando de modo vetorial em um sistema de posicionamento impondo na entrada
quatro sinais, sendo eles:
1ª Entrada: Sinal de erro do posicionamento;
2ª e 3ª Entradas: Valores armazenados no instante de amostragem
imediatamente anterior e com dois atrasos do sinal do erro, respectivamente;
4ª Entrada: ZERO
NASCIMENTO J. (2000), definiu as entradas como sendo o sinal de referência
como primeira entrada, como segunda e terceira entradas os valores armazenados no
instante de amostragem imediatamente anterior e com dois atrasos, respectivamente, e
71
mais três entradas relacionadas ao erro e aos valores armazenados do erro em dois
intervalos de amostragem anteriores.
No presente trabalho escolheu-se fazer uma analogia com o controlador PD2
(Proporcional Derivativo Duplo), que é utilizado em sistemas que apresentam
comportamento integral (possuem dois ou mais pólos dominantes e apresentam outro
pólo igual a 1) (MENEZES FILHO, 2010). A Equação discreta do controlador PD2 é
dada por (BUHLER, 1982):
u ( k )  k p  e( k )  k d [e( k )  e( k  1)]  k d 2  [e(k )  2  e( k  1)  e( k  2)]
(4.4)
em que:
u(k): valor da saída discreta do controlador
kp: ganho proporcional do controlador
kd: ganho aplicado a derivada do sinal de erro
kd2 : ganho aplicado a derivada segunda do sinal de erro
e(k): erro no instante de amostragem k
e(k-1): erro armazenado no instante anterior ao tempo k
e(k-2): erro armazenado na amostragem anterior ao tempo k-1
Assim sendo, os sinais da primeira camada são definidos como sendo:
in11=e(k);
in21=e(k-1);
in31=e(k-2);
in41=1
A entrada in41 é denominada bias ou entrada de polarização que, juntamente
com seu peso correspondente, tem o efeito de transladar a função em torno da origem
(transformação afim), fazendo com que a ativação interna do neurônio não seja nula
quando todas as demais entradas forem nulas (IYODA, 2000).
As entradas definem uma matriz de 4 linhas e uma coluna, expressa na
equação 4.5:
72
 in11 


 in 21 
In  
in 31 


 in 41 


(4.5)
A segunda camada (camada oculta) da RNMC possui 15 neurônios. Para estes
neurônios, é definido o campo induzido Vin como sendo a combinação linear da matriz
de entradas In ponderadas pelos elementos da matriz de pesos Win dado pela Equação
(4.6).
Vin = Win x In
(4.6)
O Campo induzido de cada neurônio da camada oculta é aplicado em uma
função de ativação do tipo Tangente Hiperbólica. A saída de cada função tangente
hiperbólica é chamada de Sinal Funcional do neurônio oculto, dado pela Equação (4.7).
Y(i x 1) =   Tanh(vin(i1))
onde: i = 1, 2, ..., 15;
(4.7)
Logo, a matriz Y é dada pela equação 4.8:
 y11 


 y 21 
 y 31 


 y 41 
Y    
  


  
 y141 


 y151 
(4.8)
A camada de saída é dotada de apenas um neurônio. Para este neurônio, definese o Campo Induzido, dado pela Equação (4.9), como a combinação linear das saídas
dos sinais funcionais dos neurônios ocultos Y ponderados com os pesos sinápticos de
WhidT.
73
vout = WhidT x Y
(4.9)
A Função de Ativação de cada neurônio da camada de saída, do tipo Tangente
Hiperbólica, dada pela Equação (4.10), fornece o sinal de saída out, que é o sinal de
controle para o motor ligado a essa rede. A Figura 4.8 mostra a estrutura da rede neural
utilizada no trabalho.
out = Tanh(v out )
(4.10)
Figura 4.6 – Estrutura da rede neural utilizada na pesquisa
Nas Figuras (4.7) e (4.8) são mostrados os Controladores Neurais utilizados no
acionamento independente para cada base.
74
Figura 4.7 – Controlador neural para a base
Figura 4.8 – Controlador neural para o braço
4.2.4
Algoritmo de Retropropagação da Rede Neural
Após a propagação direta, que mantém os pesos sinápticos inalterados, é
realizada a retropropagação, processo por meio do qual todos os pesos da rede são
75
ajustados. De acordo com BEALE (1990), o algoritmo de retropropagação, ou
backpropagation, pode ser visto como uma generalização do método Delta para redes
neurais de múltiplas camadas. A regra Delta modifica os pesos de acordo com a
variação entre a saída desejada e a observada no treinamento (MÁSSON, 1990),
reduzindo o erro continuamente até um determinado valor aceitável.
A retropropagação é iniciada pelo gradiente local da camada de saída (out),
que é definido como o produto da derivada da função de ativação do neurônio de saída e
do erro de posição no instante k (e(k)) com o Jacobiano J, e é dado por:
out = e(k) . J .
d(tanh(vout))
dk
(4.11)
O valor do Jacobiano foi considerado igual à matriz identidade de ordem 1
(I1x1), com a finalidade de simplificar o esforço computacional por parte da rede neural.
Como os resultados experimentais foram satisfatórios, tal consideração foi mantida.
Com o Gradiente local dado pela Equação (4.11), são calculadas as variações
dos pesos (whid), que ligam a camada de saída com a camada oculta, dadas pela Equação
4.12:
Δhid= η. out . Yix1
(4.12)
em que η é o fator de convergência do algoritmo, ou seja, a taxa de aprendizagem da
rede neural.
Finalmente os pesos sinápticos (whid) são dados pela Equação (4.13):
Whid(15x1) = Whid(15x1) + Δhid
(4.13)
A modificação dos pesos sinápticos entre a primeira camada e a camada oculta
é iniciada com o cálculo dos gradientes locais de cada neurônio da camada oculta dado
pela Equação (4.14):
in =whid(k1). out .
 (tanh(Y ))
yk1
onde: k = 1, 2, ..., 15;
(4.14)
76
De acordo com o Gradiente local dado pela Equação (4.14), a variação dos
pesos entre a camada de entrada e camada oculta (Win) é calculada de acordo com a
Equação (4.15):
Δin = η . in . InT
(4.15)
Por fim, é calculada a modificação dos pesos sinápticos (win), que ligam cada
neurônio de entrada com os neurônios da camada oculta, de acordo com a Equação
(4.16).
Win = Win + Δin
(4.16)
Após o processo de retropropagação, o processamento para frente é aplicado na
RNMC fornecendo os sinais de controle para o posicionamento do manipulador
robótico.
4.2.5
Simulação do sistema e aquisição dos pesos sinápticos iniciais
Com o objetivo de se obter os pesos sinápticos iniciais a serem fornecidos ao
controlador neural foi realizado um treinamento off-line das redes neurais artificiais
utilizando as funções de transferência obtidas do processo de identificação mostrado na
seção 4.2.1.
Para o treinamento off-line das redes neurais foi utilizado um programa de
simulação no ambiente LabVIEW®, que implementa o controle do manipulador
simulado através do processamento das equações (4.1) e (4.2), de acordo com os
diagramas esquemáticos da Figura 4.7 e 4.8. Antes da execução do programa foram
determinados, aleatoriamente, no ambiente MATLAB®, os pesos sinápticos whid, que
ligam a camada de entrada com a camada oculta e os pesos sinápticos win, que ligam a
camada oculta com a camada de saída das redes neurais que controlam a posição do
braço e da base do manipulador. O Algoritmo a seguir mostra o fluxo do processo
implementado.
77
1º) Executar o programa de geração de pesos whid e win no ambiente
MATLAB® .
2º) Executar o programa em ambiente LabVIEW® que simula o controle em
malha fechada de posição do braço e da base com os controladores neurais adaptativos.
Durante esta etapa são reajustados e armazenados os pesos whid e win a cada período
de amostragem.
3º) Observar a forma de onda da variável de saída do braço e da base do
programa de simulação. Caso não ocorram erros de regime permanente e se consigam a
máxima redução dos sobre-sinais, encerrar o processo de simulação armazenando os
pesos sinápticos whid e win. Caso contrário voltar ao passo 2 para novo treinamento dos
pesos.
4.2.6
Resposta do sistema para simulação dos controladores neurais
Foram utilizados, nesta etapa de simulação, sinais de referência do tipo degrau
tanto na base como no braço. Também foram realizadas simulações com acionamentos
com funções seno e cosseno para o braço e para a base, respectivamente. Na Figura
(4.9) é mostrado o resultado da simulação de referência ao degrau para a base.
Figura 4.9 – Curva de resposta da base para uma referência de 100°
78
Nas Figuras (4.10) é mostrado o resultados da simulação para uma referência
ao degrau para o braço. Na Tabela (4.3) são mostrados os valores dos índices de
desempenho observados na simulação, para a base e para o braço.
Figura 4.10 – Curva de resposta do braço para uma referência de 80°
Tabela 4.3 – Valores observados na simulação para referência ao degrau
Base
Braço
(100°)
(80°)
Ts(s)
2
2,2
UP (%)
0
0
ess (%)
0
0
Valor Observado
Em seguida a base e o braço foram acionados de modo a fazer com que os
atuadores do sistema seguissem uma trajetória pré-determinada. Para a base foi enviado
m sinal cossenoidal com amplitude de 50° e período T=160s. Para o braço, foi imposto
um sinal senoidal, com amplitude de 40° e período T=160s. Nas Figuras (4.11) e (4.12)
são mostradas as curvas de respostas simuladas para uma trajetória imposta para a base
e para o braço, respectivamente.
79
Figura 4.11 – Resposta à referência cossenoidal - Base
Figura 4.12 – Resposta à referência senoidal - Braço
80
Tabela 4.4 – Valores simulados do controle neural de posição para referências com
funções circulares
Erro máximo (%)
Períodos dos sinais de referência
Base
Braço
Período 180 s
1.02
0.95
Obs: * Resultados para as Figuras 4.11 e 4.12
** Erro máximo calculado após o regime permanente de trabalho
81
CAPÍTULO V
UTILIZAÇÃO DO CONTROLADOR NEURAL NO
ACIONAMENTO DO MANIPULADOR ROBÓTICO
5.1 INTRODUÇÃO
São mostrados, neste capítulo, os resultados experimentais obtidos no sistema
de posicionamento. Na seção 5.2, são apresentadas algumas informações quanto ao
funcionamento do manipulador robótico. Na seção 5.3, são analisados os gráficos e
alguns valores extraídos a partir deles quanto às imposições de sinais do tipo degrau e
degrau variável no acionamento do sistema. Na seção 5.4, avaliam-se os desempenhos
dos controladores nos seguimentos de trajetórias de curvas de referência senoidal e
cossenoidal.
5.2 NOTAS SOBRE O SISTEMA
Nos gráficos a seguir, plotados no programa computacional MATLAB®, os
valores das tensões de controle de 0 V a 5 V correspondem aos deslocamentos para
direita da base e deslocamento para cima do braço, enquanto que as tensões de controle
de 0 V a -5 V resultam em deslocamento para a esquerda da base, e descida para o
braço, com referência a um observador em frente ao manipulador robótico.
82
5.3 ENSAIOS DE ACIONAMENTO DO SISTEMA
De acordo com RAMESH, R. et al. (2005), os controladores em malha fechada
podem trabalhar de duas formas. No primeiro caso trata-se do controle ponto a ponto.
Nesse tipo de controle o que importa é a exatidão com que a ferramenta atinge o ponto
de referência. O segundo tipo de controlador, em malha-fechada, é denominado sistema
de controle de contorno. Esse tipo de controle é muito utilizado em trabalhos de corte,
lapidação, pintura, etc, RAMESH, R. et al (2005).
5.3.1 Ensaios de Acionamento com Excitações do Tipo Degrau
Com relação à base, primeiramente foi realizado o acionamento, partindo do
0°, com a base posicionada completamente à esquerda, por um degrau de referência
com amplitude de 100 ° resultando em um deslocamento para direita. No gráfico da
Figura 5.1 encontram-se as curvas de resposta da base e da referência. Na Figura 5.2,
observa-se a variável de controle.
Em seguida foi realizado o acionamento, partindo da posição 100° (totalmente
à direita), por um degrau de referência com amplitude de -100 º resultando em um
deslocamento para esquerda. No gráfico da Figura 5.3, encontram-se as curvas de
resposta da base da referência. Na Figura 5.4 observa-se a evolução temporal da tensão
de controle.
Analisando-se as Figuras 5.1 e 5.3, é possível obter os tempos de assentamento
em segundos Ts (s), ultrapassagem percentual UP (%) e os erros percentuais de regime
permanente ess (%) das curvas de resposta às referências. Esses dados, correspondentes
à base do manipulador, estão apresentados na Tabela 5.1.
De maneira similar, o braço foi acionado por um sinal do tipo degrau, partindo
da posição 0° para a posição de 80° resultando em um deslocamento para cima. No
gráfico da Figura 5.5 encontram-se as curvas de resposta do braço e da referência. Na
Figura 5.6, é mostrada a curva de resposta da variável de controle.
83
Figura 5.1 - Curvas de resposta e de referência ao Degrau de 100° da base
Figura 5.2 - Curva de resposta da variável de controle da base para uma referência do
tipo degrau de 100 °
84
Figura 5.3 – Curvas de resposta e de referência ao Degrau de -100° da base
Figura 5.4 – Curva de resposta da variável de controle da base para uma referência do
tipo degrau de -100 °
85
Tabela 5.1 – Índices de desempenho experimentais extraídos das curvas de resposta da
base
Figura 5.1
Figura 5.3
Sinal de Referência
Sinal de Referência
100°
-100°
Ts (s)
2
2.1
UP (%)
0
0
ess (%)
0.1
0.098
Valor
medido
Em seguida foi realizado o acionamento, partindo da posição 80° (braço na
posição de topo), por um degrau de referência com amplitude de -80 º, resultando em
uma descida. No gráfico da Figura (5.7), encontram-se as curvas de resposta do braço e
da referência. Na Figura (5.8), pode-se visualizar a variável de controle.
Figura 5.5 – Curvas de resposta e de referência ao Degrau de 80° do braço
86
Figura 5.6 – Curva de resposta da variável de controle do braço para uma referência do
tipo degrau de 80 °
Figura 5.7 – Curvas de resposta e de referência ao Degrau de -80° do braço
87
Figura 5.8 – Curva de resposta da variável de controle do braço para uma referência do
tipo degrau de -80 °
Analisando as Figuras 5.5 e 5.7, é possível obter os tempos de assentamento
Ts, ultrapassagem percentual %UP e os erros de regime permanente ess das curvas de
resposta às referências impostas ao sistema. Esses dados, correspondentes ao braço,
estão apresentados na Tabela 5.2.
Tabela 5.2 – Índices de desempenho experimentais extraídos das curvas de resposta do
braço
Figura 5.5
Figura 5.7
Sinal de Referência
Sinal de Referência
80°
-80°
Ts (s)
1.65
1.5
UP (%)
0
0
ess (%)
0.1125
0.11875
Valor
medido
Com o objetivo de verificar as respostas do sistema para referências distintas, foi
aplicado ao braço um sinal de excitação do tipo degrau variável, partindo-se da posição
central do mesmo (40°). Na Figura (5.9) encontram-se as curvas de resposta e da
88
sequência de degraus de referência. A variável de controle, para esta situação pode ser
visualizada na Figura (5.9)
Figura 5.9 – Curvas de resposta e de referência degrau variável do braço
Figura 5.10 – Variável de controle para curva de resposta ao degrau variável do braço
Para a base do manipulador robótico também realizou-se um ensaio em que foi
imposto como sinal de referência uma excitação do tipo degrau variável, partindo
89
inicialmente da posição 0°. Nas Figuras (5.11) e (5.12) encontram-se ilustradas as
resposta da base e da referência imposta e a variável de controle, respectivamente.
Figura 5.11 – Curvas de resposta e de referência degrau variável da base
Figura 5.12 – Variável de controle para curva de resposta ao degrau variável da base
A curva de resposta de posição do sistema para um sinal de excitação do tipo
degrau variável apresentou erros de regime permanente de 0.1% para a base e de 0.12%
para o braço (maiores valores observados). Para base não houve ultrapassagem
percentual, fato também observado para o braço.
90
5.3.2 Ensaios de Acionamento com Excitações do Tipo Seno e Cosseno
Com o objetivo de avaliar o controlador neural em situações de
acompanhamento de trajetória, foram impostos como referências sinais do tipo senoidal
para o braço e cossenoidal para a base do manipulador robótico. Nesse caso, o sistema
não sofreu interrupção no seu deslocamento ao atingir uma determinada posição, como
no caso anterior, havendo, ao contrário, um movimento permanente, de acordo com a
trajetória requerida.
Para a base foi imposta uma referência cossenoidal, com amplitude de 50° e
um período T=160s. Para o braço do manipulador, o sinal de entrada aplicado foi do
tipo senoidal, com amplitude de 40° e um período T=160s. Nas Figuras (5.13) e (5.15)
são apresentados os resultados para as condições descritas, em que são comparados os
sinais de referência e a saída apresentada pela planta, para o braço e para a base,
respectivamente. Nas Figuras (5.14) e (5.16) são observadas as evoluções temporais das
variáveis de controle do braço e da base, respectivamente.
Figura 5.13 - Acompanhamento de trajetória senoidal – Braço
91
Figura 5.14 – Variável de controle para acompanhamento de trajetória senoidal – Braço
Figura 5.15 – Acompanhamento de trajetória cossenoidal – Base
92
Figura 5.16 – Variável de controle para acompanhamento de trajetória cossenoidal –
Base
Nos gráficos de respostas do sistema à imposição de sinais de entrada do tipo
seno e cosseno é possível observar um desempenho adequado nos acompanhamentos
das saídas às trajetórias das referências. Para a base, o erro máximo foi de 1,09%,
enquanto que para o braço foi de 0,997%.
93
CAPÍTULO VI
COMENTÁRIOS E CONCLUSÕES FINAIS
6.1 COMENTÁRIOS E CONCLUSÕES
No presente trabalho foi apresentada uma estratégia de acionamento de um
manipulador robótico com dois graus de liberdade, acionado por motores de indução
trifásicos. O controle foi exercido por controlador implementado em um ambiente
computacional que integra programas LabVIEW® e MATLAB® instalados em um
microcomputador do tipo PC . Para a determinação das posições angulares do braço e
da base do manipulador robótico foram aplicados transdutores potenciométricos.
A estratégia de controle apresentada fez uso de redes neurais multicamadas
para o controle individual da base e do braço do manipulador. A determinação da
arquitetura da rede, mais especificamente do número de neurônios na camada oculta, foi
realizada por meio da aplicação de algoritmos genéticos. Vê-se que tal prática contribui
para uma melhor escolha deste parâmetro, evitando assim um esforço desnecessário.
Para a situação do acionamento em controle de posição, os resultados obtidos
nas simulações e experimentalmente com o controlador neural apresentaram um erro de
regime permanente de 0.11% para o braço e 0.1% para base, sendo estes os maiores
valores observados. A base não apresentou ultrapassagem percentual, assim como
verificado para o braço.
Para o caso de acompanhamento de trajetórias de referências do tipo senoidais
e cossenoidais, o sistema apresentou um desempenho adequado, apresentando um erro
máximo de 1.09% para a base e de 0.997% para o braço.
94
Observa-se que a rede neural multicamadas, emulando um controlador do tipo
PD2 e com aprendizado realizado através da técnica de retropropagação do erro,
respondeu de maneira positiva ao que se esperava de um manipulador robótico acionado
por motores de indução trifásicos.
6.2 PROPOSTAS PARA TRABALHOS FUTUROS
Propõem-se os seguintes trabalhos como continuação desta pesquisa:

Desenvolver controladores neuro-fuzzy para controle do manipulador
robótico;

Desenvolver controladores que utilizem algoritmos genéticos para a
determinação da arquitetura da rede neural e para o treinamento da mesma;

Utilizar o método de controle vetorial de posição, cuja atuação seria na
saída resultante do funcionamento simultâneo da base e do braço do manipulador;
95
REFERÊNCIAS BIBLIOGRÁFICAS
AGUIRRE, L. A., 2000, Introdução à Identificação de Sistemas: Técnicas Lineares e
não-Lineares Aplicadas a Sistemas Reais. 2ª Edição Belo Horizonte, MG UFMG.
AKYUZ, I. H.; YOLACAN, E.; ERTNUNC, H. M.; BINGUL, Z., 2011. PID and state
feedback control of a single-link flexible joint robot manipulator. IEEE
International Conference on Mechatronics, pp.: 409 – 414.
ARCOS CAMARGO, M. A., 2002, Planejamento de Trajetórias de um Manipulador
Robótico Usando Redes Neurais Artificiais. Dissertação de Mestrado,
UNICAMP, Campinas, SP, Brasil.
ARIMOTO, S.; MIYAZAKI, F., 1984. Stability and robustness of PID feedback
control for robot manipulators of sensory capability. Robotics Researches: First
International Symposium, M. Brady and R.P. Paul (Eds.), pp.: 783-799, MIT
Press.
ASAKAWA, N.; TAKEUCHI, Y., 1997, Teachingless spray-painting of sculptured
surface by an industrial robot. Proceedings of the IEEE International Conference
on Robotics and Automation, Vol. 3, pp.: 1875-1879
ASTROM, K. J. & WITTENMARK, B., 1995. Adaptive Control. 2ª Edição
USA,Editora Addison Wesley.
AZEVEDO, F. M., 1999. Algoritmos Genéticos em Redes Neurais Artificiais. V Escola
de Redes Neurais, São José dos Campos, SP.
AZEVEDO, F. M.; BRASIL, L. M.; OLIVEIRA, R. C. L., 2000. Redes Neurais com
Aplicações em Controle e em Sistemas Especialistas. Editora Visual Books, 1ª
edição.
BACK, T., 1996. Evolutionary Algorithms in Theory and Practice. Oxford University
press.
BACK, T.; HAMMEL, U.; SCHWEFEL, H.-P., 1997. Evolutionary computation:
comments on the history and current state. Transactions on Evolutionary
Computation, IEEE , vol.1, issue.1, pp.:3-17.
96
BAI, Y.; WANG, D., 2010. Applying Fuzzy Multi-Criteria Decision Making for
Optimal Robots and Manipulators Selection. IEEE International Symposium on
Industrial Electronics (ISIE), pp.: 1803 – 1808.
BARRETO, J. M., 2001. Inteligência Artificial no Limiar do Século XXI. 3ª edição.
BAYER, S.E.; WANG, L., 1991. A genetic algorithm programming environment:
Splicer. Third International Conference on Tools for Artificial Intelligence, pp.:
138-144.
BAZANELLA, A. S., SILVA Jr., J. M. G., 2005. Sistemas de Controle – Princípios e
Métodos de Projeto. Editora da UFRGS.
BEALE, R.; JACKSON, T., 1990. Neural Computing: an Introduction. Bristol, Adam
Hilger.
BIGLARBEGIAN, M.; MELEK, W. W.; MENDEL, J. M., 2011. Design of Novel
Interval Type-2 Fuzzy Controllers for Modular and Reconfigurable Robots:
Theory and Experiments. IEEE Transactions on Industrial Electronics, vol. 58,
issue 4, pp.: 1371 – 1384.
BITTENCOUT, F. R., 2007. Uso da Análise dos Fatores de Sensibilidade Para
Encontrar a Quantidade Ideal Mínima de Neurônios na Camada Oculta de uma
RNA Perceptron Multicamadas Através de Algoritmos Genéticos. Dissertação de
Mestrado, PUC-MG.
BORDON, M.E.,(2004).”Controlador Nebuloso de Arquitetura Simplificada. Estudo
de Caso: Acionamento de Motor de Indução Trifásico”.Tese de Doutorado,
Universidade Estadual de Campinas, Brasil.
BORODIN, N., 1988. Machine Design. 1 ed., MIR Publishers, Moscow.
BOUTEILLE, D., BOUTEILLE, N., CHANTREUIL,S., et al., 1997, Les Automatismes
Programables. Cépaduès-éditions, 2 ed., Toulouse.
BRAGA, A. P.; CARVALHO, A. P. de L. F.; LUDERNIR, T. B., 2000. Fundamentos
de Redes Neurais Artificiais. Editora LTC, 1ª edição.
BREMERMANN, H.J., 1962. Optimization through evolution and recombination.
M.C. Yovits, G.T. Jacobi & G.D. Goldstine (eds.) Self-Organizing Systems, pp.:
93-106, Spartan Books.
BUHLER, HANSRUEDI, 1982, Réglages échantillonnés, 1ª.Edição. Lausanne e
Suisse Presses Polytechniques romandes.
BURGOS-ARTIZZU, X. P., RIBEIRO, A., SANTOS, M., 2007. Controlador Borroso
97
Multivariable para el Ajuste de Tratamientos en Agricultura de Precisión.
Revista Iberoamericana de Automática e Informática Industrial, v. 4, n. 2, pp. 6471.
CAMARGOS, Fernando Laudares, 2002, “Lógica Nebulosa: uma abordagem
filosófica e aplicada”, Artigo Publicado pela Universidade Federal de Santa
Catarina (UFSC), Brasil.
CAMBOIM, W. L. L., 2008, Aplicações de Técnicas de Controle Fuzzy para Sistemas
de Abastecimento de Água. Dissertação de M.Sc., UFPB, João Pessoa, PB, Brasil.
CAMPOS, M. M., SAITO, K., 2004, Sistemas Inteligentes em Controle e Automação
de Processos, Rio de Janeiro, RJ, Brasil, Editora Ciência Moderna.
CARVALHO, G. C., 1993. Desenvolvimento dos três primeiros graus de liberdade de
um manipulador robótico axial. Brasília. UNB.
CARVALHO, J. S. F., 2009, Controle Adaptativo Aplicado em um Robô Manipulador
de Dois Graus de Liberdade Planar. Tese de D. Sc., UFPB, João Pessoa, PB,
Brasil.
CHEN, C. –H., 1998. Automatic Design of Neural Networks Based on Genetic
Algorithms. Proceedings of the 1998 International Computer Symposium –
Workshop on Artificial Intelligence, pp.: 8-13.
CHEN, H.B.; LIN, T.; CHEN, S. B.; WANG, J. F.; Jia, J. Q.; ZHANG, H. 2008.
Adaptive control on wire feeding in robot arc welding system. IEEE Conference
on Robotics, Automation and Mechatronics, pp.: 119-122.
CHO, J., PRINCIPE, J. C., ERDOGMUS, D., MOTTER M. A., 2006, Modeling and
Inverse Controller Design for an Unmanned Aerial Vehicle Based on the Selforganizing Map. IEEE Transactions on Neural Net-works, vol. 17, nº. 2, pp. 445460.
CHRISTALLER,
T.;
DECKER,
M.;
GILSBACH,
J.-M.;
HIRZINGER,
G.;LAUTERBACH, K.; SCHWEIGHOFER, E.; SCHWEITZER, G.; STURMA,
D., 2001. Robotik Perspektivenfürmenschliches Handeln inder zukünftigen
Gesellschaft Springer, Berlin.
COELHO, L. S., & MARIANI V. C., 2006, Sistema Híbrido Neuro-Evolutivo Aplicado
ao Controle de um Processo Multivariável. Revista Controle & Automação/Vol.
17, nº 1.
COSTA, E.; SIMOES, A., 2004. Inteligência Artificial Fundamentos e Aplicações.
98
FCA, Rio de Janeiro.
DA-LEI, S. & YAN-LI, L., 2010. Na Obstacle-Avoidance Path-Planing in Robot
Soccer Based on Refined Genetic Algorithms. 2nd International Conference on
Information, Science and Engineering (ICISE), pp.: 4941 – 4944.
DARWIN, C., 1859. The Origin of Species. John Murray, (Penguin Classics, 1985).
DIAS, J., 1999. Treinamento Híbrido de Redes Neurais para Processamento de
Informações Biomédicas. Tese de Doutorado, Universidade Federal de Santa
Catarina, UFSC, Brasil.
DORF, R. C., 2001, Sistemas de Controle Moderno. São Paulo, SP. Brasil. Livraria
LTC
ENDO, M.; HIROSE, K.; HIRATA, Y.; KOSUGE, K.; KAN BAYASHI, T.;
OOMOTO, M.; AKUNE, K.; ARAI, H.; SHINODUKA, H.; SUZUKI, K. 2008.
A car trans-portation system by multiple mobile robots – iCART. IEEE/RSJ
International Conference on Intelligent Robots and Systems, pp.: 2795-2801.
ESAKI, S.; UCHIYAMA, N.; TAKAGI, S., 2000. Robust Vibration Control for
SCARA Robots Using Adaptive Polo Placement, 26th Annual Conference of the
IEEE Industrial Electronics Society (IECON) vol I, pp: 440 – 445.
FEI, M.; HAIOU, Z.; GUILAN, W. 2010. Application of Industrial robot in rapid
prototype manufacturing technology. 2nd International Conference on Industrial
Mechatronics and Automation, vol. 1, pp.: 218-220.
FERNANDES, A. M. R. 2005. Inteligência Artificial: noções gerais. 2ª impressão,
Visual Books.
FOGEL, D. B., 1994. An Introduction to Simulated Evolutionary Computation. IEEE
Transactions on Neural Networks, vol. 5, issue 1, pp.: 3-14.
FOGEL, L.J., 1962. Autonomous automata. Industrial Research, vol. 4, pp.: 14-19.
FRASER, A.S., 1957. Simulation of genetic systems by automatic digital computers: I.
Introduction. Austral. J. Biol. Sci., vol. 10, pp.: 484-491.
FU, K.S., GONZALES, R.C., LEE, C.S.G. 1987. Robotics - Control, Sensing, Vision
and Intelligence. McGraw-Hill Book Inc., International Edition, 1 ed., New
York.
FUHLBRIGGE, T.; CHEN, H.; LI, X., 2008. Automated industrial robot path planning
for spray painting process: A review. IEEE International Conference on
Automation Science and Engineering, pp.: 522-527.
GAZEAU, J.-P.; EON, A.; ZEGHLOUL, S.; ARSICAULT, M. 2011. New Printing
99
Robot for High-Resolution Pictures on Three-Dimensional Wide Surfaces. IEEE
Transactions on Industrial Electronics, vol. 58, issue 2, pp.: 384-391
GIRALT, G. 1997. A robótica. Biblioteca Básica de Ciência e Cultura, Instituto Piaget,
Lisboa-Portugal.
GOLDBERG, D.E., 1989. Genetic Algorithms in Search, Optmization, and Machine
Learning. Addison-Wesley Publishing Company, Inc., Reading, Massachussets.
GROOVER, M.P., 1988. Robótica: tecnologia e programação. McGraw-Hill, São
Paulo.
GROVER, M.P;. et al., 1986. Industrial Robotics: Technology, Programming and
Applications. Editora McGraw-Hill.
HAUPTY, R.L.; HAUPTY, S.E., 2004. Practical genetic algorithm. A John Wiley &
Sons, Inc., Publications, 2º ed.
HAYKIN, S., 2001, Redes Neurais, Princípios e Prática, Tradução de Paulo Martins
Engel. 2ª Edição, Porto Alegre, RS - Brasil. Ed. Bookman.
HEBB, D., 1949. Organization of Behavior. New York, John Wiley & Sons.
HELD, C. M., ROY, R. J., 2000. Hemodynamic Management of Congestive Heart
Failure by Means of a Multiple Mode Rule-Based Control System Using Fuzzy
Logic. IEEE Transactions on Biomedical Engineering, v. 47, n. 1, pp. 115-123.
HOLLAND, J. 1975. Adaptation in natural and artificial systems. Ann Arbor: Univ. of
Michigan Press.
HOLLAND, J. H., 1975. Adaptation in Natural and Artificial Systems. University of
Michigan Press.
HUANG, H.-P.; YAN, J.-L.; CHENG, T.-H., 2010. Development and Fuzzy Control of
a Pipe Inspection Robot. IEEE Transactions on Industrial Electronics, vol. 57,
issue 3, pp.: 1088 – 1095.
HUNT, V., 1983. Industrial Robotics Handbook. Editora Industrial Press.
IFR, 2000. International Federation of Robotics. http://www.ifr.org.
IFR, 2008. World Robotics 2008 – Statistics, Market Analysis, Forecasts, Case Studies
and Profitability of Robot Investment. Published by International Federation of
Robotics (IFR) Statical Departament hosted by VDMA Robotics + Automation,
Frankfurt, Germany.
IOANNOU, P. A.; SUN, J., 1996. Robust Adaptive Control. Prentice Hall.
ISERMANN, R.,
&
LACHMANN, K,
1992 , Adaptive
Control
System.
100
Prentice Hall International.
ISO Standard 10218:2006. Robots for industrial environments -- Safety requirements Part 1: Robot.
ISO Standard 8373:1994. Manipulating Industrial Robots.
IYODA, E. M., 2000. Inteligência Computacional no Projeto Automático de Redes
Neurais Híbridas e Redes Neurofuzzy Heterogêneas. Tese de Mestrado,
Faculdade de Engenharia Elétrica e de Computação, UNICAMP.
JARVIS, D. E., 1973. The case for the spray painting robot. Production Engineer, IET
Journals; Vol. 52, issue 5, pp.: 171-174.
JASON, D.J. and FRENZEL, J.F., 1993. Training product unit neural networks with
genetic algorithms. IEEE Expert, vol.1, issue 1, pp.: 26 – 33.
JÚLIO, E. F. X., 2010. Controlador Fuzzy Aplicado a um Sistema de Controle de
Posição Acionado por Motores de Indução Trifásicos. Dissertação de Mestrado,
UFPB, Brasil.
KELLY, R., 1993. Comments on adaptive PD controller for robot manipulator. IEEE
Trans. Robotics Automation., vol. 9,pp.: 117–119.
KIM, D. I.; KANG, J. H.; KIM, S., 1994. Full digital joint motion controller of
permanent magnet AC servo motor for industrial robot and CNC machine tool.
20th
International
Conference
on
Industrial
Electronics,
Control
and
Instrumentation, vol. 2, pp.: 1015 – 1021.
KIRYU, T., SASAKI, I, SHIBAI, K., et al., 2001. Providing Appropriate Exercise
Levels for the Elderly. IEEE Engineering in Medicine and Biology, v. 20, n. 6,
pp.: 116-124.
KOMAGOME, D.; SUZUKI, M.; ONO, T.; YAMADA, S. 2007. RobotMeme – A
proposal of Human-Robot Mimetic Mutual Adaptation. The 16th IEEE
International Symposium on Robot and Human interactive Communication, pp.:
427-432.
KOVÁCS, Z. L ,1996, Redes Neurais Artificiais: fundamentos e Aplicações, São
Paulo, Brasil, Editora Acadêmica.
KOZA, J.R., 1995. Survey of genetic algorithms and genetic programming.
Proceedings Of Wescon 95, IEEE Press, pp.: 589-594.
KUC, T.-Y., HAN, W.-G, 1998. Adaptive PID Learning of Periodic Robot Motion.
Proccedings of the 37th IEEE on Decision and Control, vol 1, pp.: 86-91.
KUKA, 2008. Kuka Kr 1000 titan, Power meets perfection. Product Brochure Kuka
101
Roboter GmbH, FLYI1205/0407, UK.
KUKA, 2009 .Kuka Robotics Products Overview. Disponível em http://www.kukarobotics.com/en/products, visitado pela última vez em 10 de dezembro de 2011.
KULITZ, H. R., 2004. Modelagem e Controle Fuzzy de Robôs e Veículos MultiArticulados. Tese de Doutorado, UFES, Brasil
LACERDA, E. G. M.; CARVALHO, A. C. P. L. F., 1999. Anais do XIX Congresso
Nacional da Sociedade Brasileira de Computação. Rio de Janeiro.
LIU, Q.; CHAI, T.; ZHAO, L.; ZHAN, Y; ZHANG, S. Modeling and Gain Scheduling
Adaptive Control of Tension Control System for Continuous Annealing Process.
Proceedings of the 48th IEEE Conference on Decision and Control, pp: 55985603, 2009.
MAMDANI, E. H., ASSILIAN, S., 1974. An Experiment in Linguistic Synthesis with a
Fuzzy Logic Controller. International Journal of Man-Machine Studies, v. 7,
pp.: 1-13
MAMDANI, E. H., ASSILIAN, S., 1974. Application of Fuzzy Algorithm for Control
of Simple Dynamic Plant. Proceedings of IEEE Control and Science, pp.: 1585 –
1588.
MÁSSON, E.; Wang, Y.-J., 1990. Introduction to Computation and Learning in
Artificial Neural Networks. European Journal of Operational Research, NorthHoland, vol. 47, pp.: 1 - 28.
MCCULLOCH, W. S. e PITTS, W. (1943). A logical calculus of the ideas immanent in
nervous activity. Bulletin of Mathematical Biophysics, vol. 5, pp. 115-133.
McKERROW, P., 1993. Introductions to Robotics. Editora Addison-Wesley.
MENEZES FILHO, J. B. de, 2010. Controlador vetorial neural para mesa de
coordenadas XY. Revista Controle e Automação, SBA, 2010.
MENEZES FILHO, J. B., 2007, Controlador Neural Adaptativo para Mesa de
Coordenadas. Tese de D.Sc., UFPB, João Pessoa, PB, Brasil.
MICHALEWICZ, Z., 1996. Genetic Algorithms + Data Structures = Evolution
Programs. 3ª edição, Springer.
MINSKY, M. L. & PAPERT, S. A., 1988. Perceptrons: an Introductions to
Computational Geometry. The MIT Press, 3ª ed., Impressão modificada do
original de 1969.
MORIARTY, D. E. & MIIKKULAINEN, R., 1998. Hierarchical Evolution of Neural
102
Networks. Proceedings of the 1998 Conference on Evolutionary Computation,
pp.: 428 – 433.
MUNSHI, C. J.; MAHALANABIS, A. K.; LEE, K. Y., 1989. Stochastic Pole
Placement Control Of Robot Manipulators. American Control Conference, pp.:
2336 – 2336.
NAGASHIMA, R., 2006. Treinamento de uma Rede Neural de Base Radial Usando
Computação Evolutiva: Implementação e Aplicações. Dissertação de Mestrado,
Universidade Estadual Paulista.
NASCIMENTO J, C. L., YONEYAMA, T. 2000 , Inteligência Artificial em Controle e
Automação. São Paulo, Brasil. Editora Edgard Blucher.
NIKU, B. S., 2001. Introduction to Robotics: Analysis, systems, applications. New
Jersey, Prentice Hall.
NÓBREGA SOBRINHO, C. A. 2011. Controlador Neural Aplicado a um Sistema
Posicionador Acionado por motores de Indução Trifásicos. Dissertação de
Mestrado, UFPB, Brasil.
NOVÁK, V., 1989. Fuzzy sets and their application. Adam Hilger, USA.
OGATA, K., 2003 , Engenharia de Controle Moderno. Tradução de Bernardo
Severo São Paulo Brasil Editora LTC.
ORTEGA, A. V., SILVA, I. N., 2008, Neural Network Model for Designing
Automotive Devices Using SMD LED. International Journal of Automotive
Technology), vol. 9, nº. 2, pp. 203-210.
PACHECO, M., A., C., 2005. Algoritmos Genéticos: Princípios e Aplicações, Curso de
Introdução aos Algoritmos Genéticos, Notas de Aula. ICA – Laboratório de
Computação Aplicada, PUC-Rio.
PAGLIOSA, A.L., 2003. “Obtenção das Funções de Pertinência de um Sistema
Neurofuzzy Modificado pela Rede de Kohonen”. Dissertação de Mestrado,
UDESC.
PARASKEVOPOULOS, P.N., 1995,
Digital Control Systems. First Edition,
Prentice Hall, USA.
PARK, M. H.; LEE, D. C.; SUL, S. K., 1994. High performance current regulator for
a field-oriented controlled induction motor drive. IEEE Transactions on Industry
Applications, vol. 30, issue 5, pp.: 1247 – 1257.
PARKER, D., 1982. Learning Logic. Invention Report, Stanford University, File 1,
Office of Technology Licensing, USA.
103
QINGCHUM, M.; HONGLIAN, S.; CHANGJIU, Z.; HONGBO, J.; HAO, D., 1998.
Intelligent Control Based on Genetic Algorithms – Case Study on Mobile Robot.
Proceedings of the IEEE International Joint Symposia on Intelligence and
Systems, pp.: 252 – 256.
R.RAMESH, M.A.MANNAN,A.N.POO, 2005, . “Tracking
and
contour
error
Control in CNC Servo Systems”. International Journal of Machine Tools and
Manufacture pp 301– 326.
RECHENBERG, I., 1965. Cybernetic solution path of an experimental problem. Royal
Aircraft Establishment, Library Translation no. 1122.
REYERO, R., NICOLÁS, C. F., 1995. Sistemas de Control Basados em Lógica
Borrosa: Fuzzy Control. Omron Eletronics S.A., Espanha.
REZENDE, S. O., et al., 2005. Sistemas Inteligentes: Fundamentos e Aplicações.
Editora Manole, Barueri, Sp.
RIBEIRO FILHO, J.L.; TRELEAVEN, P.C.; ALIPPI, C., 1994. Genetic-algorithm
programming environments. Computer, vol.27, issue.6, pp.: 28-43.
RICHTER, T., 2009, Arquitetura de Sistema Inteligente Para Sensoriamento Virtual de
Oxigênio em Veículos Bicombustíveis. Dissertação de Mestrado, EESC/USP, São
Carlos, SP, Brasil.
RIVIN, E., 1988. Mechanical Design of Robots. 1ª ed., McGraw-Hill Inc., New York.
ROMANO, V. R. 2002. Robótica Industrial. 1ª ed. São Paulo: Ed. Edgard Blücher
LTDA.
ROSÁRIO, J.M., 2005. Princípios de Mecatrônica. PRENTICE HALL, São Paulo.
ROSEN, C.A., 1985. Robots and Machine Intelligence. Handbook of Industrial
Robotics, 1 ed., chapter 3, New York, John Wiley & Sons.
RUFINO, F. A. O., 2008. Desenvolvimento de um Robô Móvel Autônomo com
Controle Fuzzy. Tese de Doutorado, UFPB, João Pessoa, PB, Brasil.
RUMELHART, D.; McCLELLAND, J., 1986. Parallel distributed processing –
explorations in the microstructure of cognition, ed. David E. Rumelhart and
James l. McClelland, MIT Press Cambridge, MASS, vol 1.
SANTOS, V. M. F., 2004. Robótica Industrial. Departamento de Engenharia
Mecânica, Universidade de Aveiro.
SATO, N.; KON, K.; FUKUSHIMA, H.; MATSUNO, F., 2008. Map-based
Navigation Interface for Multiple Rescue Robots. SSRR, IEEE International
104
Workshop on Safety, Security and Rescue Robotics, pp.: 152-157.
SCHIAVICCO, L., SICILIANO, B. 1995, Robotica Industriale - Modellistica e
Controllo di Manipolatori. 1ª Ed., McGraw-Hill Inc., Milano.
SCHIRMER, L., 2005. Modelagem do Robothron – Um Manipulador de Barras
Paralelas. Dissertação de Mestrado, UDESC, Santa Catarina.
SCHWEFEL, H.-P., 1965. Kybernetische Evolution als Strategie der experimentellen
Forschung in der Strömungstechnik, Diplomarbeit. Hermann Föttinger Institut für
Strömungstechnik, Technische Universität, Berlin.
SCIESZKO, J.L., 1988. Projeto de Robôs. Notas de aula curso de graduação em
Engenharia Mecânica EE-UFRJ, Rio de Janeiro.
SEERING, W. P., SCHEINMAN, V., 1985. Mechanical Design of an Industrial Robot.
Handbook of Industrial Robotics, 1 ed., chapter 4, New York, John Wiley &
Sons.
SHAW, I. S., SIMÕES, M. G., 2004. Controle e Modelagem Fuzzy. São Paulo, SP,
Brasil, Editora Edgard Blucher Ltda.
SHEN, Y., ZHONGXIANG, Z., ENRONG, M., 2007. Double-Fuzzy Kalman Filter
Based on GPS/IMU/MV Sensor Fusion for Tractor Autonomous Guidance. IEEE
International Conference on Automation and Logistics, pp.: 61-65.
SHHEIBIA, T. A. A., 2001. Controle de um Braço Robótico Utilizando uma
Abordagem de Agente Inteligente. Dissertação de Mestrado., UFPB, Campina
Grande, PB, Brasil.
SHIOMI, M.; KANDA, T.; GLAS, D.F.; SATAKE, S.; ISHIGURO, H.; HAGITA, N.,
2009. Field trial of networked social robots in a shopping mall. IEEE/RSJ
International Conference on Intelligent Robots and systems, pp.: 2846-2853.
SIMOES, M. G., FRANCESCHETTI, N. N., 1999. Fuzzy Optimisation Based Control
of a Solar Array System. IEEE Proceedings on Electric Power Applications, v.
146, issue. 5, pp.: 552-558.
SKELLY, M. M., CHIZECK, H. J., 2001. Real-time Gait Event Detection for
Paraplegic FES Walking. IEEE Transactions on Neural Systems and
Rehabilitation Engineering, vol. 9, issue 1, pp.: 59-68.
SNYDER, W. E., 1985, Industrial Robots: Computer Interfacing and Control. Prentice
- Hall Inc., New Jersey.
SOUZA, O. B., 2010, Controle Adaptativo Aplicado em Dois Elos de um Robô
105
Manipulador Eletropneumático de Três Graus de Liberdade Cartesiano.
Dissertação de M. Sc., UFPB, João Pessoa, PB, Brasil.
SOUZA, S. A., 2008, Algoritmos Genéticos Aplicados à Proteção e Estimação de
Harmônicos em Sistemas Elétricos de Potência. Tese de Doutorado, EESC/USP,
São Carlos, SP, Brasil.
STOICA, M.; CALANGIU, G. A.; SISAK, F.; SARKANY, I., 2010. A Method
Proposed for Training na Artificial Neural Network Used for Industrial Robot
Programming by Demonstration. 12th International Conference on Optimization
of Electrical and Electronic Equipment (OPTIM), pp.: 831 – 836.
SUGENO, M. & KANG, T., 1988. Structure Identification of a Fuzzy Model. Fuzzy
Sets and Systems, pp.: 15-33.
SUM, J. P. F.; LEUNG, C.-S.; TAM, P. K. S.; YOUNG, G. H.; KAN, W. K.; CHAN,
L.-W., 1999. Analysis for a Class of Winner-Take-All model. IEEE Transactions
on Neural Networks, vol. 10, issue 1, pp.: 64-71.
TAFNER, M. A.; XEREZ, M.; FILHO, I. W. R., 1996. Redes Neurais Artificiais –
Introdução e Princípios de Neurocomputação. Editora Eko, 1ª edição.
TAFNER, M. A; XEREZ, M.; FILHO, I. W. R., 1996. Redes Neurais Artificiais –
Introdução e Princípios de Neurocomputação. Editora Eko, 1ª edição.
TAKAGI, S.; UCHIYAMA, N., 2005. Robust Control System Design for SCARA
Robots Using Adaptive Pole Placement. IEEE Transactions on Industrial
Electronics, vol. 52, issue 3, pp.: 915-921
TAKAGI, T., SUGENO, M., 1985. Fuzzy Identification of Systems and Its Application
to Modelling and Control. IEEE Trans. Syst. Man Cybern., v. SMC-15, n. 1, pp.
116-132.
TAKEGAKI, M.; ARIMOTO S., 1981. A new feedback method for dynamic control of
manipulators. J. Dyn.Sys.Meas. ControlTransaction, ASME, issue 103, pp.: 119125.
TANG, Z.; YANG, M.; PEI, Z., 2010. Self-Adaptive_PID Control Strategy Based on
RBF Neural Network for Robot Manipulation. First International Conference on
Pervasive Computing, Signal Processing and Applications (PCSPA), pp.: 932935
TANOMARU, J., 1999. Motivação, fundamentos e aplicações de algoritmos genéticos.
Proc. do II Congresso Brasileiro de Redes Neurais, vol.1, nº 3, Curitiba, Brasil,
106
pp.: 331 - 411.
TSAI, M.-C.; TOMIZUKA, M., 1989. Model Reference Adaptive Control and
Repetitive Control for Robot Manipulators. Proceedings of IEEE Internation
Coference on Robotics and Automation, vol. 3, pp.: 1650-1655
VARGAS, E. T., 2005, Uma Proposta de Relé Digital de Frequência Baseado em
Algoritmos Genéticos. Dissertação de Mestrado, EESC/USP, São Carlos, SP,
Brasil.
VICENTE, B. G. L. Z., CEZARE, M. J., SILVA, I. N., 2007, Controlador Neural de
Marcha Lenta Para Motores de Combustão Interna. Anais do VIII Simpósio
Brasileiro de Automação Inteligente, Florianópolis, CD-ROM (paper Nº. 30909).
WAI, R. J., DUAN, R. Y., WANG, W. H., et al., 2003. Implementation of Artificial
Intelligent Control in Single-Link Flexible Robot Arm. Proceedings of the IEEE
International Symposium on Computational Intelligence in Robotics and
Automation, vol. 3, pp.: 1270-1275.
WANG, D.; LEUNG, J.; KURIAN, A. P.; KIM, H.-J.; YOON, H. 2010. A
Deconvolutive Neural Net-work for Speech Classification With Applications to
Home Service Robot. IEEE Transactions on Instrumentation and Measurement,
vol. 59, issue 12, pp.: 3237-3243.
WARNECKE, H. J., SCHRAFT, R. D., WANNER M. C., 1985. Mechanical Design of
Robot System. Handbook of Industrial Robotics, 1 ed., chapter 5, New York, John
Wiley & Sons.
WAWERLA, J.; VAUGHAN, R. T., 2010, A fast and frugal method for team-task
allocation in a multi-robot transportation system. IEEE International Conference
on Robotics and Automation (ICRA), pp.: 1432-1437.
WEIS, H., XIAO, J., 2003. Fuzzy System Control for Combined Wind and Solar Power
Distributed Generation Unit. IEEE International Conference on Industrial
Technology, v. 2, pp.: 1160-1165.
WEN, J. T.; MURPHY, S., 1990. Stability analysis of position and force control
problems for robot arms.
IEEE International Conference on
Robotics and
Automation, vol. 1, pp.: 252-257.
WERBOS, P., 1974. Beyond Regression: New Tools for Prediction and Analysis in the
Behavioral
Sciences.
Ph.D.
Thesis,
Harvad
University,
Cambridge,
Massachussets.
WHITLEY, D., 1994. A genetic algorithm tutorial. Springer Science + Business Media
107
B.V., Formerly Kluwer Academic. pp.: 65-85.
WHITLEY, D., STARKWEATHER, T. & BOGART, C., 1990. Genetic Algorithms
and Neural Networks: Optimizing Connections and Connectivity. Parallel
Computing, vol. 14, pp.: 347 – 361.
WIDROW, B., 1962. Generation and Information Storage in Networks of Adaline
Neurons. Self-Organization Systems, Spartan Books, Washington DC, pp.: 435 –
461.
YAN, H., JIANG, Y., ZHENG, J., PENG, C., LI, Q., 2006, A Multilayer Perceptronbased Medical Decision Support System for Heart Disease Diagnosis. Expert
Systems with Applications, vol. 30, nº. 2, pp. 272-281.
YANG, X.; MOALLEM, M.; PATEL, R.V., 2005. Motion planning for mobile robots
using a fuzzy layered goal-oriented approach. Proceedings of the IEEE
Conference on Control Applications, pp.: 78-83.
YANPING, L; HAIJIANG, L., 2009, Welding multi-robot task allocation for BIW
based on hill climbing genetic algorithm. Technology and Innovation Conference
(ITIC), International, pp.: 1-8.
YONEYAMA, T.; JUNIOR, C. L. N., 2000. Inteligência Artificial em Controle e
Automação. Editora Edgard Blucher Ltda, 1ª edição.
YUN, S. C.; GANAPATHY, V.; CHONG, L. O., 2010. Improved Genetic Algorithms
Based Optimum Path Planning for Mobile Robot. 11th International Conference
on Control, Automation, Robotics & Vision (ICARCV), pp.: 1565 – 1570.
ZADEH, L. A., 1973, “Outline of a New Approach to the Analysis of Complex Systems
and Decision Process”, IEEE Trans. on Systems, Man and Cybernetcs, v. 3, pp.
28-44.
ZHANG, T.; NAKAMURA, M.; Kyura, N., 2001. High-precision Contour Control of
Industrial Robot Arm by Neural Network Compensation with Learning
Uncertainties. Proceedings on IEEE International Symposium on Electronics
(ISIE), vol. 3, pp.: 1650 – 1655.
ZHAO, Y.; CHEAH, C. C. 2009. Neural Network Control of Multifingered Robot
Hands Using Visual Feedback. IEEE International Transactions on Neural
Networks, vol. 20, issue 5. 2, pp. 758-767
ZHAO-HUI, J. and ISHIDA, T. 2007. Trajectory Tracking Control of Industrial Robot
Manipulators Using a Neural Network Controller. IEEE International
Conference on Systems, Man and Cybernetics, pp. 2390-2395.
108
APÊNDICE A
TESTES COM O ALGORITMO GENÉTICO
A.1
INTRODUÇÃO
Para se efetuar a escolha do número de neurônios na camada oculta da RNA
utilizada no presente trabalho foram realizadas diversas simulações com o objetivo de
verificar qual indivíduo apresentaria melhor fitness quando a planta fosse submetida a
variadas referências.
Todos os testes mantiveram as mesmas características, ou seja, os pesos
iniciais da rede neural foram iniciados em zero para todas as situações.
No total, foram realizadas 15 simulações para a base e 15 simulações para o
braço do manipulador robótico, sendo 5 simulações com referência do tipo degrau, 5
simulações com referência do tipo onda quadrada e 5 simulações com referências do
tipo função circular, tanto para a base como para o braço.
A.1.1 Resultados dos testes para o braço
Inicialmente, o braço foi submetido a uma entrada do tipo degrau com
amplitude de 80º. Os resultados a seguir demonstram a evolução do algoritmo genético
até a convergência para um valor ótimo para o número de indivíduos na camada oculta
da rede neural utilizada como controlador no presente trabalho.
109
1º teste
População Inicial [10 3 5 6 5 13 6 9 2 11]
População Final [15 15 15 14 15 15 13 14 15 15]
Quantidade de Gerações: 9
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 13 2.2731 10 2.4135 10 2.4543 13 2.2420 2ª Geração 13 2.2544 13 2.2359 13 2.2567 13 2.2720 3ª Geração 13 2.2346 13 2.2187 15 2.0079 14 2.1349 4ª Geração 13 2.2724 15 2.0873 15 2.0168 14 2.1797 5ª Geração 15 2.0771 13 2.2063 13 2.2756 15 2.0166 6ª Geração 15 2.0160 15 2.0511 15 2.0679 12 2.2915 7ª Geração 15 2.0745 15 2.0348 15 2.0992 12 2.2920 8ª Geração 15 2.0234 15 2.0327 15 2.0182 110
14 2.1343 9ª Geração 15 2.0747 15 2.0939 15 2.0565 15 2.0690 Resumo da simulação
Indivíduo 10 12 13 14 15 Quantidade de vezes como melhor 2 2 11 3 18 Fitness médio 2.4339 2.2918 2.2492 2.1496 2.0510 2º teste
População Inicial [1 2 3 1 5 14 1 7 15 2]
População Final [15 15 15 14 14 15 15 15 15 14]
Quantidade de Gerações: 7
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 15 2.0593 14 2.1534 15 2.0528 7 2.6797 2ª Geração 14 2.1165 15 2.0171 14 2.1863 15 2.0849 3ª Geração 14 2.1192 15 2.0849 15 2.0251 15 2.0838 4ª Geração 15 2.0913 15 2.0440 14 2.1984 15 2.0333 5ª Geração 15 2.0501 111
15 15 15 2.0513 2.0313 2.0519 6ª Geração 15 2.0863 15 2.0159 15 2.0178 14 2.1431 7ª Geração 14 2.1794 14 2.1238 15 2.0473 15 2.0789 Resumo da simulação:
Indivíduo 7 14 15 Quantidade de vezes como melhor 1 8 19 Fitness médio 2.6797 2.1525 2.0530 3º teste
População Inicial [1 9 6 1 5 7 1 1 2 11]
População Final [15 15 15 15 15 15 15 13 15 15]
Quantidade de Gerações: 20
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 9 2.1882 7 2.7271 9 2.1582 8 2.4156 2ª Geração 9 2.1863 8 2.4966 8 2.3853 8 2.4656 3ª Geração 9 2.2233 8 2.4775 9 2.0876 8 2.4063 4ª Geração 9 2.1412 112
9 11 9 2.2467 1.8769 2.1897 5ª Geração 11 1.7740 9 2.1018 10 1.9995 9 2.1258 6ª Geração 11 1.8710 9 2.1524 13 1.5386 9 2.2266 7ª Geração 13 1.5552 10 1.9669 9 2.1872 9 2.2178 8ª Geração 13 1.5262 10 1.9151 10 2.0031 9 2.1036 9ª Geração 13 1.4966 13 1.5474 13 1.5137 13 1.5246 10ª Geração 13 1.5219 13 1.5489 13 1.5478 13 1.5790 11ª Geração 13 1.4857 13 1.4923 15 1.3480 13 1.5298 12ª Geração 15 1.3177 13 1.5141 13 1.5432 13 1.5459 13ª Geração 15 1.3495 13 1.5475 15 1.3346 13 1.5135 14ª Geração 15 1.3017 113
15 1.3348 15 1.3646 15 1.3750 15ª Geração 15 1.3322 15 1.3588 15 1.3302 15 1.3794 16ª Geração 15 1.3442 15 1.3477 15 1.3115 15 1.3202 17ª Geração 15 1.3182 15 1.3497 15 1.3123 15 1.3233 18ª Geração 15 1.3360 15 1.3403 15 1.3038 15 1.3586 19ª Geração 15 1.3083 15 1.3340 15 1.3168 15 1.3528 20ª Geração 15 1.3015 15 1.3065 15 1.3203 15 1.3741 Resumo da simulação:
Indivíduo 8 9 11 12 13 14 15 Quantidade de vezes como melhor 1 7 16 1 6 4 45 Fitness médio 2.5932 2.4648 2.3435 2.2920 2.2581 2.1662 2.0494 114
4º teste
População Inicial [2 3 1 4 7 15 1 2 14 9]
População Final [15 14 15 15 15 14 14 15 15 14]
Quantidade de Gerações: 8
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 15 2.0728 14 2.1729 14 2.1709 14 2.1560 2ª Geração 15 2.0348 14 2.1784 15 2.0129 14 2.1464 3ª Geração 15 2.0888 14 2.1382 15 2.0248 15 2.0370 4ª Geração 15 2.0492 13 2.2462 15 2.0439 14 2.1632 5ª Geração 13 2.2999 14 2.1469 15 2.0196 15 2.0928 6ª Geração 15 2.0597 13 2.2605 14 2.1932 15 2.0709 7ª Geração 14 2.1635 15 2.0083 15 2.0592 15 2.0105 8ª Geração 15 2.0374 15 2.0463 15 2.0859 115
15 2.0108 Resumo da simulação:
Indivíduo 13 14 15 Quantidade de vezes como melhor 3 10 19 Fitness médio 2.2689 2.1630 2.0456 5º teste
População Inicial [1 8 6 7 1 4 14 1 12 11]
População Final [14 15 15 15 15 14 15 14 14 15]
Quantidade de Gerações: 8
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 14 2.1443 12 2.2979 14 2.1778 10 2.3888 2ª Geração 12 2.2980 14 2.1798 14 2.1557 13 2.2187 3ª Geração 15 2.0641 13 2.2362 14 2.1979 14 2.1333 4ª Geração 14 2.1936 15 2.0457 14 2.1155 15 2.0294 5ª Geração 15 2.0766 15 2.0522 14 2.1261 15 2.0602 6ª Geração 15 2.0350 15 2.0560 15 2.0359 116
14 2.1435 7ª Geração 15 2.0947 15 2.0344 15 2.0768 15 2.0906 8ª Geração 15 2.0093 15 2.0138 15 2.0285 15 2.0172 Resumo da simulação
Indivíduo 10 12 13 14 15 Quantidade de vezes como melhor 1 2 2 10 17 Fitness médio 2.3888 2.2980 2.2275 2.1567 2.0483 Em seguida, o braço foi submetido a uma referência do tipo onda quadrada
com amplitude de 40º e período de 40 segundos.
1º teste
População Inicial [1 9 7 8 8 1 8 11 3 5]
População Final [15 15 15 14 15 15 14 15 14 15]
Quantidade de Gerações: 8
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 11 3.1779 9 3.3257 11 3.1335 9 3.4281 2ª Geração 11 3.1843 11 3.1196 10 3.2111 11 3.1020 3ª Geração 11 3.1653 117
11 11 10 3.1841 3.1668 3.2317 4ª Geração 11 3.1230 11 3.1456 14 2.9624 11 3.1691 5ª Geração 14 2.9842 11 3.1855 15 2.8495 10 3.2370 6ª Geração 15 2.8299 14 2.9099 12 3.0221 15 2.8706 7ª Geração 15 2.8807 12 3.0174 15 2.8512 15 2.8879 8ª Geração 15 2.8685 15 2.8313 15 2.8676 15 2.8493 9ª Geração 15 2.8301 15 2.8461 15 2.8291 15 2.8576 10ª Geração 15 2.8535 14 2.9689 15 2.8202 15 2.8683 11ª Geração 15 2.8343 14 2.9609 15 2.8668 15 2.8955 118
Resumo da simulação:
Indivíduo 9 10 11 12 14 15 Quantidade de vezes como melhor 2 3 12 2 5 20 Fitness médio 3.3769 3.2266 3.1547 3.0198 2.9573 2.8544 2º teste
População Inicial [7 7 7 2 2 2 3 9 15 4]
População Final [15 15 14 15 15 15 15 15 15 15]
Quantidade de Gerações: 8
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 15 2.8672 9 3.4354 14 2.9465 7 3.9456 2ª Geração 15 2.8699 14 2.9609 15 2.8800 15 2.8521 3ª Geração 15 2.8309 15 2.8526 15 2.8417 15 2.8371 4ª Geração 15 2.8385 15 2.8461 15 2.8527 15 2.8205 5ª Geração 14 2.9849 15 2.8782 15 2.8202 15 2.8656 6ª Geração 15 2.8366 15 2.8251 15 2.8788 119
15 2.8883 7ª Geração 15 2.8397 15 2.8656 14 2.9862 15 2.8692 8ª Geração 15 2.8387 15 2.8536 15 2.8428 15 2.8525 Resumo da simulação:
Indivíduo 7 9 14 15 Quantidade de vezes como melhor 1 1 4 26 Fitness médio 3.9456 3.4354 2.9696 2.8517 3º teste
População Inicial [10 4 3 11 1 9 9 11 6 8]
População Final [15 15 15 15 15 15 14 14 15 12]
Quantidade de Gerações: 16
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 11 3.1106 10 3.2861 11 3.1294 11 3.1328 2ª Geração 11 3.1515 11 3.1312 11 3.1067 11 3.1161 3ª Geração 11 3.1749 11 3.1879 11 3.1404 11 3.1598 4ª Geração 11 3.1818 11 3.1374 120
15 11 2.8813 3.1865 5ª Geração 15 2.8467 11 3.1877 15 2.8794 11 3.1201 6ª Geração 15 2.8839 15 2.8335 15 2.8215 13 3.0366 7ª Geração 15 2.8296 15 2.8310 15 2.8227 13 3.0243 8ª Geração 15 2.8259 15 2.8521 15 2.8457 15 2.8855 9ª Geração 15 2.8666 15 2.8880 15 2.8681 15 2.8316 10ª Geração 15 2.8228 15 2.8551 15 2.8862 15 2.8112 11ª Geração 13 3.0082 15 2.8237 15 2.8618 14 2.9586 12ª Geração 15 2.8321 15 2.8457 15 2.8355 15 2.8367 13ª Geração 14 2.9584 15 2.8739 15 2.8652 15 2.8871 14ª Geração 15 2.8877 15 2.8682 121
15 2.8503 15 2.8638 15ª Geração 15 2.8757 15 2.8540 15 2.8366 15 2.8514 16ª Geração 15 2.8280 15 2.8475 15 2.8712 15 2.8366 Resumo da simulação:
Indivíduo 10 11 13 14 15 Quantidade de vezes como melhor 1 16 3 2 42 Fitness médio 3.2861 3.1472 3.0230 2.9585 2.8524 4º teste
População Inicial [1 14 2 8 2 2 11 6 5 12]
População Final [15 14 15 15 15 15 14 14 15 14]
Quantidade de Gerações: 8
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 11 3.1370 14 2.9545 15 2.8451 15 2.8559 2ª Geração 15 2.8600 15 2.8684 14 2.9862 14 2.9893 3ª Geração 15 2.8368 15 2.8281 14 2.9367 14 2.9555 4ª Geração 122
15 15 15 15 2.8399 2.8409 2.8290 2.8605 5ª Geração 15 2.8520 15 2.8871 14 2.9310 15 2.8218 6ª Geração 15 2.8285 14 2.9566 15 2.8699 15 2.8766 7ª Geração 15 2.8678 14 2.9769 15 2.8470 15 2.8392 8ª Geração 14 2.9172 15 2.8281 14 2.9492 15 2.8677 Resumo da simulação:
Indivíduo 11 14 15 Quantidade de vezes como melhor 1 10 21 Fitness médio 3.1370 2.9553 2.8500 5º teste
População Inicial [4 1 3 5 14 3 1 3 7 11]
População Final [15 15 15 15 15 14 14 15 15 15]
Quantidade de Gerações: 6
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 14 2.9675 11 3.1133 15 2.8347 9 3.4140 2ª Geração 123
15 14 14 11 2.8504 2.9609 2.9374 3.1455 3ª Geração 15 2.8406 15 2.8824 15 2.8940 14 2.9378 4ª Geração 15 2.8861 14 2.9936 14 2.9137 15 2.8581 5ª Geração 15 2.8532 15 2.8304 15 2.8844 15 2.8609 6ª Geração 15 2.8422 15 2.8396 15 2.8628 15 2.8828 Resumo da simulação:
Indivíduo 9 11 14 15 Quantidade de vezes como melhor 1 2 6 15 Fitness médio 3.4140 3.1294 2.9518 2.8602 Por fim, o braço foi submetido a uma entrada senoidal, com amplitude de 40 º e
um período de 160 segundos.
1º Teste
População Inicial [7 1 9 3 7 1 1 6 6 8]
População Final [15 15 15 15 15 13 13 15 15 15]
Quantidade de Gerações: 20
Melhores indivíduos por geração:
124
Indivíduos Fitness 1ª Geração 9 2.1882 7 2.7271 9 2.1582 8 2.4156 2ª Geração 9 2.1863 8 2.4966 8 2.3853 8 2.4656 3ª Geração 9 2.2233 8 2.4775 9 2.0876 8 2.4063 4ª Geração 9 2.1412 9 2.2467 11 1.8769 9 2.1897 5ª Geração 11 1.7740 9 2.1018 10 1.9995 9 2.1258 6ª Geração 11 1.8710 9 2.1524 13 1.5386 9 2.2266 7ª Geração 13 1.5552 10 1.9669 9 2.1872 9 2.2178 8ª Geração 13 1.5262 10 1.9151 10 2.0031 9 2.1036 9ª Geração 13 1.4966 13 1.5474 13 1.5137 13 1.5246 10ª Geração 13 1.5219 13 1.5489 13 1.5478 125
13 1.5790 11ª Geração 13 1.4857 13 1.4923 15 1.3480 13 1.5298 12ª Geração 15 1.3177 13 1.5141 13 1.5432 13 1.5459 13ª Geração 15 1.3495 13 1.5475 15 1.3346 13 1.5135 14ª Geração 15 1.3017 15 1.3348 15 1.3646 15 1.3750 15ª Geração 15 1.3322 15 1.3588 15 1.3302 15 1.3794 16ª Geração 15 1.3442 15 1.3477 15 1.3115 15 1.3202 17ª Geração 15 1.3182 15 1.3497 15 1.3123 15 1.3233 18ª Geração 15 1.3360 15 1.3403 15 1.3038 15 1.3586 19ª Geração 15 1.3083 15 1.3340 15 1.3168 15 1.3528 20ª Geração 15 1.3015 15 1.3065 15 1.3203 126
15 1.3741 Resumo da simulação:
Indivíduo 7 8 9 10 11 13 15 Quantidade de vezes como melhor 1 6 15 4 3 19 32 Fitness médio 2.7271 2.4412 2.1691 1.9712 1.8406 1.5301 1.3346 2º teste
População Inicial [4 10 1 1 6 8 1 4 8 14]
População Final [15 15 15 15 15 15 14 15 15 15]
Quantidade de Gerações: 16
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 14 1.4578 8 2.4199 13 1.5689 10 1.9452 2ª Geração 14 1.4650 13 1.5466 10 1.9958 12 1.6768 3ª Geração 14 1.4532 10 1.9929 12 1.6365 14 1.4437 4ª Geração 14 1.4474 14 1.4520 14 1.4062 10 1.9883 5ª Geração 14 1.4245 14 1.4556 14 1.3972 13 1.5616 127
6ª Geração 1.4411 1.4420 1.4076 1.4215 7ª Geração 14 1.4544 14 1.4664 15 1.3734 12 1.6641 8ª Geração 15 1.3272 14 1.4128 15 1.3614 14 1.3866 9ª Geração 15 1.3599 14 1.3918 15 1.3498 14 1.4309 10ª Geração 15 1.3410 15 1.3433 15 1.3513 13 1.5448 11ª Geração 15 1.2845 15 1.3128 15 1.3705 14 1.4132 12ª Geração 15 1.3310 15 1.3396 15 1.3335 15 1.3394 13ª Geração 15 1.3242 15 1.3769 15 1.3211 15 1.3289 14ª Geração 15 1.2948 15 1.3173 15 1.3197 15 1.3291 15ª Geração 15 1.3244 15 1.3307 15 1.3221 15 1.3342 14 14 14 14 128
16ª Geração 15 1.3265 15 1.3359 15 1.3245 15 1.3396 Resumo das simulações:
Indivíduo 8 10 12 13 14 15 Quantidade de vezes como melhor 1 4 3 4 21 31 Fitness médio 2.4199 1.9806 1.6591 1.5555 1.4319 1.3345 3º teste
População Inicial [8 2 7 9 11 12 1 2 1 1]
População Final [15 15 15 15 15 14 13 15 15 15]
Quantidade de Gerações: 9
Melhores indivíduos por geração:
Indivíduos Fitness 1ª Geração 11 1.8014 12 1.6420 13 1.5774 8 2.4263 2ª Geração 12 1.6202 11 1.7769 15 1.2891 14 1.4513 3ª Geração 15 1.3685 11 1.7875 11 1.7914 10 1.9396 4ª Geração 15 1.2910 15 1.3444 15 1.3213 14 1.4464 5ª Geração 15 1.3015 129
15 15 13 1.3470 1.3555 1.5466 6ª Geração 15 1.3088 15 1.3541 15 1.3071 15 1.3102 7ª Geração 15 1.3023 15 1.3180 15 1.2811 15 1.3050 8ª Geração 15 1.3276 15 1.3305 15 1.3510 15 1.3577 9ª Geração 15 1.3029 15 1.3247 15 1.3280 15 1.3478 Resumo da simulação:
Indivíduo 8 10 11 12 13 14 15 Quantidade de vezes como melhor 1 1 4 2 2 2 24 Fitness médio 2.4263 1.9396 1.7893 1.6311 1.5620 1.4489 1.3240 4º teste
População Inicial [11 5 4 1 2 6 15 5 14 11]
População Final [15 15 15 15 15 14 15 15 15 14]
Quantidade de Gerações: 6
Melhores indivíduos por geração:
130
Indivíduos Fitness 1ª Geração 15 1.3459 14 1.4340 15 1.2987 13 1.5478 2ª Geração 15 1.3210 14 1.4727 15 1.3636 10 1.9844 3ª Geração 15 1.3338 14 1.4170 14 1.3948 14 1.4330 4ª Geração 15 1.3675 14 1.3905 15 1.3306 15 1.3433 5ª Geração 15 1.2810 15 1.3534 15 1.3010 15 1.3579 6ª Geração 15 1.3173 15 1.3323 15 1.3694 15 1.3709 Resumo da simulação:
Indivíduo 10 13 14 15 Quantidade de vezes como melhor 1 1 6 16 Fitness médio 1.9844 1.5478 1.4237 1.3367 5º teste
População Inicial [10 15 14 14 7 1 10 10 7 1]
População Final [15 15 15 15 15 14 12 15 14 14]
Quantidade de Gerações: 5
Melhores indivíduos por geração:
131
Indivíduos Fitness 1ª Geração 14 1.4496 10 1.9570 15 1.3650 11 1.6995 2ª Geração 15 1.3272 15 1.3392 15 1.3245 10 2.0135 3ª Geração 15 1.3360 15 1.3521 15 1.3299 14 1.4218 4ª Geração 15 1.3417 15 1.3422 15 1.3142 15 1.3347 5ª Geração 15 1.3018 15 1.3388 15 1.3244 15 1.3366 Resumo da simulação:
Indivíduo 10 11 14 15 Quantidade de vezes como melhor 2 1 2 15 Fitness médio 1.9853 1.6995 1.4357 1.3339 A.1.2 Resultados dos testes para a base
De maneira análoga ao que foi feito para o braço, a base do manipulador
robótico também foi submetida, inicialmente, a uma referência do tipo degrau com
amplitude de 100°.
132
1º teste
População Inicial [2 9 1 1 15 13 15 10 10 1]
População Final [15 15 15 15 15 15 15 15 15 12]
Quantidade de Gerações: 8
Melhores por geração:
Indivíduos Fitness 1ª Geração 15 4.5229 15 4.6382 14 4.7361 14 4.7385 2ª Geração 15 4.4883 15 4.5983 15 4.5128 15 4.6247 3ª Geração 15 4.4474 15 4.5642 15 4.4151 15 4.6600 4ª Geração 15 4.5262 15 4.5814 15 4.4967 15 4.5145 5ª Geração 15 4.4224 15 4.4820 15 4.4859 15 4.5801 6ª Geração 15 4.4768 15 4.5046 15 4.5001 15 4.5987 7ª Geração 15 4.5585 15 4.6208 15 4.4628 15 4.4827 8ª Geração 133
15 15 15 15 4.4650 4.4897 4.5096 4.5831 Resumo das simulações:
Indivíduo 14 15 Quantidade de vezes como melhor 2 30 Fitness médio 4.7373 4.5271 2º teste
População Inicial [1 14 13 14 11 2 1 4 8 13]
População Final [15 15 15 15 14 15 15 15 13 12]
Quantidade de Gerações: 9
Melhores por geração:
Indivíduos Fitness 1ª Geração 14 4.6761 14 4.6862 13 4.8735 12 4.9540 2ª Geração 14 4.6685 13 4.7618 14 4.6834 14 4.6262 3ª Geração 14 4.6445 14 4.6481 15 4.4182 14 4.6807 4ª Geração 15 4.4856 14 4.5640 15 4.4983 12 4.9248 5ª Geração 15 4.4147 15 4.4273 15 4.4559 14 4.6929 6ª Geração 15 4.4358 134
15 14 15 4.4745 4.5964 4.4891 7ª Geração 15 4.4533 15 4.4659 14 4.6698 15 4.4493 8ª Geração 15 4.4342 15 4.4853 15 4.4268 15 4.4848 9ª Geração 15 4.4135 15 4.4301 15 4.3411 15 4.3776 Resumo da simulação:
Indivíduo 12 13 14 15 Quantidade de vezes como melhor 2 2 12 20 Fitness médio 4.9394 4.8177 4.6531 4.4431 3º teste
População Inicial [15 15 8 10 10 8 9 4 7 11]
População Final [15 15 15 15 15 15 15 14 13 13
Quantidade de Gerações: 6
Melhores por geração:
Indivíduos Fitness 1ª Geração 15 4.3912 15 4.4873 15 4.5079 11 5.2635 2ª Geração 15 4.4951 15 4.4410 15 4.4189 15 4.4738 3ª Geração 135
15 15 15 15 4.4250 4.4427 4.4356 4.4826 4ª Geração 15 4.4747 15 4.4949 15 4.4642 15 4.4549 5ª Geração 15 4.4191 15 4.4554 15 4.4160 15 4.4496 6ª Geração 15 4.4855 15 4.4370 15 4.4753 15 4.4225 Resumo da simulação
Indivíduo 11 15 Quantidade de vezes como melhor 1 23 Fitness médio 5.2635 4.4544 4º teste
População Inicial [9 6 7 12 3 7 11 11 1 4]
População Final [15 15 15 15 14 15 15 15 15 13]
Quantidade de Gerações: 8
Melhores por geração:
Indivíduos Fitness 1ª Geração 12 5.1740 11 5.2120 15 4.4786 11 5.2065 2ª Geração 15 4.4456 11 5.2172 14 4.5365 15 4.4536 136
3ª Geração 4.4584 4.4927 4.4694 4.5879 4ª Geração 15 4.4875 15 4.4070 15 4.4879 15 4.4989 5ª Geração 15 4.4659 15 4.4612 15 4.4645 15 4.4879 6ª Geração 15 4.4146 15 4.4935 15 4.4814 15 4.4866 7ª Geração 15 4.4544 15 4.4664 15 4.4447 15 4.4957 8ª Geração 15 4.4862 15 4.4885 15 4.4599 15 4.4687 15 15 15 14 Resumo da simulação:
Indivíduo 11 12 14 15 Quantidade de vezes como melhor 3 1 2 26 Fitness médio 5.2119 5.1740 4.5622 4.4692 5º teste
População Inicial [5 6 3 1 15 6 4 12 10 10]
População Final [15 15 15 15 15 15 14 14 13 15]
Quantidade de Gerações: 10
Melhores por geração:
137
Indivíduos Fitness 1ª Geração 15 4.4596 12 5.1973 15 4.5700 14 4.6333 2ª Geração 15 4.4103 15 4.4143 15 4.4094 10 5.2172 3ª Geração 15 4.4237 15 4.4510 15 4.4131 14 4.7207 4ª Geração 15 4.4961 15 4.4266 15 4.4504 15 4.4632 5ª Geração 15 4.4844 15 4.4281 15 4.4612 15 4.4537 6ª Geração 15 4.4794 15 4.4897 15 4.4256 15 4.4631 7ª Geração 15 4.4589 15 4.4186 15 4.4538 15 4.4795 8ª Geração 15 4.4580 15 4.4855 15 4.4691 14 4.6429 9ª Geração 15 4.4779 15 4.4844 15 4.4349 15 4.4345 138
10ª Geração 15 4.4500 15 4.4541 14 4.6021 15 4.4552 Resumo da simulação:
Indivíduo 10 12 14 15 Quantidade de vezes como melhor 1 1 4 34 Fitness médio 5.2172 5.1973 4.6498 4.4555 Em um segundo instante, a base foi submetida a uma entrada do tipo onda
quadrada, com amplitude de 50° e um período de 40 segundos.
1º teste
População Inicial [15 10 3 2 6 8 13 8 6 9]
População Final [15 14 15 15 15 15 14 15 12 13]
Quantidade de Gerações: 8
Melhores por geração:
Indivíduos Fitness 1ª Geração 15 3.4704 13 3.7697 11 4.0373 10 4.0824 2ª Geração 15 3.4616 13 3.7680 15 3.4706 12 3.8738 3ª Geração 15 3.4616 15 3.4618 14 3.6178 13 3.7542 4ª Geração 15 3.4148 139
15 14 15 3.4504 3.5481 3.4547 5ª Geração 15 3.4253 15 3.4598 14 3.5896 14 3.5914 6ª Geração 15 3.4720 15 3.4143 15 3.4719 15 3.4778 7ª Geração 15 3.4971 14 3.5282 15 3.4988 15 3.4835 8ª Geração 15 3.4213 15 3.4210 15 3.4244 15 3.4616 Resumo da simulação:
Indivíduo 10 11 12 13 14 15 Quantidade de vezes como melhor 1 1 1 3 5 21 Fitness médio 4.0824 4.0373 3.8738 3.7640 3.5750 3.4559 2º teste
População Inicial [12 11 7 1 13 5 2 11 14 13]
População Final [15 14 15 15 15 15 14 13 15 13]
Quantidade de Gerações: 4
Melhores por geração:
Indivíduos Fitness 1ª Geração 14 3.6263 13 3.6654 15 3.4434 140
15 3.4525 2ª Geração 15 3.4520 14 3.6170 14 3.6763 15 3.4920 3ª Geração 15 3.4606 15 3.4591 14 3.5247 15 3.4631 4ª Geração 15 3.3359 15 3.5074 15 3.4950 15 3.4751 Resumo da simulação:
Indivíduo 13 14 15 Quantidade de vezes como melhor 1 4 11 Fitness médio 3.6654 3.6111 3.4578 3º Teste
População inicial [15 15 14 15 4 4 7 11 4 12]
População final [15 15 15 15 15 15 15 15 13 14]
Quantidade de Gerações: 10
Melhores por geração
Indivíduos Fitness 1ª Geração 15 3.4994 15 3.4774 14 3.6324 15 3.4631 2ª Geração 15 3.4977 15 3.4982 15 3.4398 12 3.8368 3ª Geração 15 3.4742 15 3.4553 15 3.4520 141
15 3.4475 4ª Geração 15 3.4657 15 3.4343 15 3.4244 15 3.4286 5ª Geração 15 3.3719 15 3.4690 15 3.4216 1 4.5286 6ª Geração 15 3.4745 15 3.4468 15 3.4332 15 3.4713 7ª Geração 15 3.4749 15 3.4293 15 3.4511 15 3.4555 8ª Geração 15 3.4707 14 3.5265 15 3.4999 15 3.4226 9ª Geração 15 3.4681 15 3.4213 15 3.4617 15 3.4983 10ª Geração 15 3.3822 15 3.4769 15 3.3473 15 3.4298 Resumo da simulação:
Indivíduo 1 12 14 15 Quantidade de vezes como melhor 1 1 2 36 Fitness médio 4.5286 3.8368 3.5795 3.4510 4º Teste
População Inicial [7 8 7 4 13 2 5 1 4 15]
142
População Final [14 15 15 15 15 15 15 13 14 12]
Quantidade de Gerações: 7
Melhores por geração:
Indivíduos Fitness 1ª Geração 15 3.4339 13 3.7689 14 3.6159 13 3.7926 2ª Geração 14 3.6068 15 3.4531 15 3.4776 15 3.4264 3ª Geração 15 3.4808 15 3.4835 15 3.4981 14 3.6394 4ª Geração 15 3.4619 14 3.5470 15 3.4113 15 3.4281 5ª Geração 15 3.4488 15 3.4742 14 3.5883 15 3.4791 6ª Geração 15 3.4688 15 3.4783 14 3.6386 15 3.4762 7ª Geração 15 3.4385 15 3.4397 15 3.4292 15 3.4208 Resumo da simulação
Indivíduo 13 14 15 Quantidade de vezes como melhor 2 6 20 Fitness médio 3.7808 3.6060 3.4554 143
5º teste
População Inicial [1 12 15 10 13 11 3 12 14 9]
População Final [15 15 15 15 15 15 15 14 14 13]
Quantidade de Gerações: 5
Melhores por geração:
Indivíduos Fitness 1ª Geração 15 3.4748 15 3.4377 15 3.4097 14 3.6111 2ª Geração 15 3.4996 15 3.4845 14 3.5780 15 3.4981 3ª Geração 15 3.4033 15 3.4724 15 3.4130 14 3.5392 4ª Geração 15 3.4304 15 3.4917 15 3.4941 15 3.4213 5ª Geração 15 3.4661 15 3.4759 15 3.4347 15 3.4551 Resumo da simulação:
Indivíduo 14 15 Quantidade de vezes como melhor 3 17 Fitness médio 3.5761 3.4566 Por fim, à base foi imposta uma referência do tipo cossenoidal, com amplitude
de 50° e um período de 160 segundos.
144
1º Teste
População Inicial [3 13 10 1 5 15 9 9 12 14]
População Final [15 15 15 15 15 14 15 15 14 13]
Quantidade de gerações: 7
Melhores por geração
Indivíduo Fitness 1ª Geração 15 1.9089 14 2.0453 15 1.9038 13 2.2531 2ª Geração 15 1.8998 13 2.1399 14 2.0315 14 2.0344 3ª Geração 14 2.0269 13 2.2726 15 1.9723 13 2.0574 4ª Geração 15 1.9166 14 2.0686 15 1.8947 15 1.8955 5ª Geração 15 1.8815 15 1.9568 15 1.9314 15 1.9736 6ª Geração 15 1.8851 15 1.8969 15 1.8771 15 1.9210 7ª Geração 15 1.8736 15 1.9069 15 1.8455 15 1.9217 145
Resumo da simulação:
Indivíduo 13 14 15 Quantidade de vezes como melhor 3 6 19 Fitness médio 2.2219 2.0440 1.9086 2º Teste
População Inicial [14 1 15 14 1 5 13 1 4 3]
População Final [15 15 15 15 15 15 14 15 15 15]
Quantidade de gerações: 14
Melhores por geração:
Indivíduos Fitness 1ª Geração 14 2.1248 13 2.2454 14 2.0124 13 2.2111 2ª Geração 14 2.0594 13 2.1838 15 1.9226 13 2.2303 3ª Geração 14 2.0569 14 2.1229 13 2.2065 13 2.2490 4ª Geração 14 2.0217 14 2.0753 14 2.0468 13 2.1940 5ª Geração 14 2.0664 14 2.0931 14 2.0125 14 2.0327 6ª Geração 14 2.0999 14 2.0671 146
15 13 1.8649 2.2341 7ª Geração 14 2.0020 14 2.0508 15 1.9225 14 2.0561 8ª Geração 15 1.9852 14 2.0076 15 1.9216 14 2.0223 9ª Geração 15 1.9188 14 2.0906 15 1.9483 14 2.0276 10ª Geração 15 1.8796 15 1.9146 15 1.9408 15 1.9763 11ª Geração 15 1.8734 15 1.8961 15 1.8701 15 1.9306 12ª Geração 15 1.8553 15 1.8789 15 1.8692 15 1.8930 13ª Geração 15 1.8694 15 1.8972 15 1.9107 15 1.9406 14ª Geração 15 1.8838 15 1.8911 15 1.8915 15 1.8945 Resumo da simulação:
Indivíduo 13 14 15 Quantidade de vezes como melhor 8 21 27 Fitness médio 2.2193 2.0547 1.9052 147
3º Teste
População Inicial [6 6 8 15 11 14 4 12 1 15]
População Final [15 15 15 14 14 15 15 15 15 13]
Quantidade de gerações: 4
Melhores por geração
Indivíduos Fitness 1ª Geração 15 1.8683 15 1.9571 11 2.5091 10 2.7424 2ª Geração 15 1.9193 15 1.9935 14 2.0485 12 2.4175 3ª Geração 15 1.8885 15 1.9552 15 1.9721 14 2.0355 4ª Geração 15 1.8811 15 1.9387 15 1.8876 15 1.8985 Resumo da simulação:
Indivíduo 10 11 12 14 15 Quantidade de vezes como melhor 1 1 1 2 11 Fitness médio 2.7424 2.5091 2.4175 2.0420 1.9236 4º Teste
População Inicial [2 14 8 4 1 5 8 8 4 6]
148
População Final [15 15 15 15 15 15 14 15 15 13]
Quantidade de gerações: 14
Melhores por geração:
Indivíduos Fitness 1ª Geração 14 2.0691 8 3.4312 9 2.9902 8 3.5681 2ª Geração 15 1.9328 13 2.1725 14 2.0197 13 2.1567 3ª Geração 15 1.9599 14 2.0142 15 1.8833 15 1.9488 4ª Geração 15 1.9192 15 1.9227 15 1.9125 12 2.3756 5ª Geração 15 1.8829 15 1.9216 15 1.9016 15 1.9348 6ª Geração 15 1.8881 15 1.9275 15 1.9310 15 1.9695 7ª Geração 15 1.9271 15 1.9472 15 1.9138 15 1.9238 8ª Geração 15 1.8761 15 1.9162 15 1.8851 15 1.9145 9ª Geração 15 1.8548 15 1.9044 149
13 2.2430 12 2.3099 10ª Geração 15 1.9251 15 1.9622 15 1.9011 14 2.0484 11ª Geração 15 1.9414 15 1.9703 15 1.9022 15 1.9183 12ª Geração 15 1.9019 15 1.9075 15 1.8820 15 1.8950 13ª Geração 15 1.8919 15 1.8958 15 1.8840 15 1.9158 14ª Geração 15 1.9093 15 1.9095 15 1.8443 15 1.9327 Resumo da simulação:
Indivíduo 8 9 12 13 14 15 Quantidade de vezes como melhor 2 1 2 3 4 44 Fitness médio 3.4996 2.9902 2.3427 2.1907 2.0379 1.9134 5º Teste
População Inicial [3 1 1 13 2 2 12 6 11 8]
População Final [15 15 15 15 14 14 15 15 15 14]
Quantidade de gerações: 11
Melhores por geração:
Indivíduos Fitness 150
1ª Geração 2.2488 2.3556 2.0476 2.1298 2ª Geração 14 2.0129 13 2.2230 15 1.9109 12 2.3707 3ª Geração 14 2.0855 12 2.3399 12 2.3747 12 2.4066 4ª Geração 14 2.0629 12 2.3705 14 2.0750 12 2.3718 5ª Geração 15 1.9403 14 2.0529 14 2.0633 14 2.0638 6ª Geração 15 1.8785 14 2.0013 15 1.8867 15 1.9119 7ª Geração 15 1.9462 14 2.0257 15 1.9068 14 2.0423 8ª Geração 15 1.9252 15 1.9307 15 1.8766 15 1.9215 9ª Geração 15 1.9177 15 1.9451 15 1.8999 15 1.9043 10ª Geração 15 1.9256 15 1.9964 15 1.9131 15 1.9314 13 12 14 13 151
11ª Geração 15 1.8917 15 1.8995 15 1.9187 14 2.0487 Resumo da simulação:
Indivíduo 12 13 14 15 Quantidade de vezes como melhor 7 3 12 22 Fitness médio 2.3700 2.2005 2.0485 1.9172 Ao se observar os resultados das simulações, verifica-se que o indivíduo [15]
figurou mais vezes entre os melhores indivíduos, bem como apresentou sempre um
menor valor de fitness médio se comparado com outros indivíduos. Por essas razões,
escolheu-se um número de 15 neurônios na camada oculta, tanto para a base como para
o braço.
152
Download

Arquivo total - UFPB - Universidade Federal da Paraíba